Grav - Cykl życia
W tym rozdziale zrozumiemy cykl życia Grav. Grav Lifecycle określa, w jaki sposób Grav przetwarza w celu rozszerzenia Grav przez wtyczki. Poniższy diagram przedstawia przepływ procesu cyklu życia Grav.
Poniższe cztery kroki z cyklu życia Grav -
PHP Version
Loader class is initialized
Obtain Grav Instance
Call Grav Process
Wersja PHP
Sprawdza wersję PHP, aby upewnić się, że używamy wersji PHP powyżej 5.4.0.
Inicjalizacja klasy modułu ładującego
W drugim kroku inicjalizowany jest program ładujący klasy.
Zdobądź instancję Grav
Jeśli żadna instancja nie istnieje, wywołuje metodę load () i dodaje Grav.
Inicjuje wartość debugera i dodaje do debugera.
Rejestruje dziennik i procedurę obsługi błędów.
Dodaje uri, zadanie, zdarzenia, pamięć podręczną, sesję, wtyczki, motywy, gałązkę, taksonomię, język, strony, zasoby i podstawowy adres URL.
Rejestruje strumień i program obsługi konfiguracji.
Zadzwoń do Grav Process
Inicjuje konfigurację, obiekt Uri, procedurę obsługi błędów, debuger i sesję.
Po zainicjowaniu rozpoczyna buforowanie wyjścia.
Inicjuje strefę czasową i wtyczki oraz uruchamia zdarzenie onPluginsInitialized .
Następnie inicjalizuje motyw i uruchamia zdarzenia onThemeInitialized i onTask [TASK] .
Inicjuje zasoby i uruchamia zdarzenie onAssetsInitialized .
Inicjuje gałązkę za pomocą następujących czynności -
Na podstawie konfiguracji ustawia ścieżki szablonów gałązek.
Obsługuje dostępne szablony językowe.
Następnie uruchamia zdarzenie onTwigTemplatePaths .
Załadowano konfigurację łańcucha i gałązki ładowarki.
Wystrzeliwuje zdarzenie onTwigInitialized .
Ładuje rozszerzenia gałązek i uruchamia zdarzenie onTwigExtensions .
Ustawia standardowe zmienne gałązki.
Następnie inicjalizuje strony.
Nazywa go buildPages () metoda.
Jeśli pamięć podręczna jest dobra, ładuje strony z pamięci podręcznej. Jeśli pamięć podręczna nie jest dobra, wywoływana jest metoda recurse () .
Zdarzenie onBuildPagesInitialized jest wywoływane w metodzie recurse () .
Jeśli plik zostanie znaleziony jako .md , wykonywane są następujące czynności -
Aby załadować szczegóły pliku, wywoływana jest metoda init () .
Ustawia filePath, modified i id.
Metoda header () jest wywoływana w celu zainicjowania zmiennych nagłówka.
Metoda slug () jest wywoływana w celu ustawienia informacji o pracy adresu URL.
Metoda visible () służy do ustawiania stanu widoczności.
Na podstawie folderu zaczynającego się od _ (podkreślenie) ustawiana jest modularTwig () .
Później uruchamia zdarzenie onPageProcessed .
recurse () dzieci, jeśli zostanie znaleziony folder.
Pożary onFolderProcessed wydarzenie.
wywołuje metodę buildRoutes () .
Dla wszystkich stron inicjalizowana jest taksonomia
Trasa stół jest zbudowany na szybki odnośnika.
Zdarzenia onPagesInitialized i onPageInitialized są uruchamiane.
Do zasobów zostanie dodany debuger CSS / JS.
Używając metody processSite () Twiga , otrzymujemy dane wyjściowe.
Zdarzenie onTwigSiteVariables jest uruchamiane.
Pobiera dane wyjściowe strony.
Jeśli strona nie zostanie znaleziona lub nie można jej wysłać, uruchamiane jest zdarzenie onPageNotFound .
Wszystkie zmienne Twig są ustawiane na obiekcie twig.
Nazwa szablonu jest ustawiana w zależności od informacji o pliku / nagłówku / rozszerzeniu.
wywoływana jest metoda render () .
Zwraca format pliku w HTML
Pożary onOutputGenerated wydarzenie.
Ustaw nagłówki HTTP.
Wyświetla dane wyjściowe
Bufor wyjściowy jest opróżniany na stronę.
Zdarzenie onOutputRendered zostanie uruchomione.
Zamyka połączenie z klientem.
Na koniec uruchamia zdarzenie onShutDown .
Wywołanie metody content () na stronie powoduje następujący cykl życia.
Zdarzenie onPageContentRaw zostanie uruchomione.
Zgodnie z ustawieniami Markdown i Twig przetwarza stronę.
Pożary onPageContentProcessed wydarzenie.