Grav-lifecycle
提供:Dev Guides
Grav-ライフサイクル
この章では、Gravのライフサイクルを理解します。 Grav Lifecycleは、プラグインを介してGravを拡張するためにGravが処理する方法を決定します。 次の図は、Gravライフサイクルプロセスのフローを示しています。
Gravライフサイクルからの次の4つのステップ-
- * PHPバージョン*
- * Loaderクラスは初期化されています*
- * Gravインスタンスを取得*
- * Gravプロセスを呼び出す*
PHPバージョン
PHPのバージョンをチェックして、5.4.0以上のPHPバージョンを実行していることを確認します。
ローダークラスが初期化されます
2番目のステップでは、クラスローダーが初期化されます。
Gravインスタンスを取得する
- インスタンスが存在しない場合、_load()_メソッドを呼び出してGravを追加します。
- デバッガーの値を初期化し、デバッガーに追加します。
- ログとエラーハンドラを登録します。
- URI、タスク、イベント、キャッシュ、セッション、プラグイン、テーマ、小枝、分類法、言語、ページ、アセット、ベースURLを追加します。
- ストリームと構成ハンドラーを登録します。
Gravプロセスを呼び出す
- 構成、Uriオブジェクト、エラーハンドラー、デバッガー、およびセッションを初期化します。
- 初期化後、出力のバッファリングを開始します。
- タイムゾーンとプラグインを初期化し、_onPluginsInitialized_イベントを発生させます。
- 次に、テーマを初期化し、_onThemeInitialized_および_onTask [TASK] _イベントを起動します。
- アセットを初期化し、_onAssetsInitialized_イベントを発生させます。
- それは次のアクションで小枝を初期化します-
- 構成に基づいて、Twigテンプレートのパスを設定します。
- 利用可能な言語テンプレートを処理します。
- 次に、_onTwigTemplatePaths_イベントを発生させます。
- ローダーチェーンと小枝の設定が読み込まれます。
- _onTwigInitialized_イベントを発生させます。
- Twig拡張機能をロードし、_onTwigExtensions_イベントを発生させます。
- 標準の小枝変数を設定します。
- 次に、ページを初期化します。
- _buildPages()_メソッドを呼び出します。
- キャッシュが適切であれば、キャッシュからページをロードします。 キャッシュが適切でない場合、_recurse()_メソッドが呼び出されます。
- _onBuildPagesInitialized_イベントは、_recurse()_メソッドで発生します。
- ファイルが_.md_として見つかった場合、次のアクションが実行されます-
- ファイルの詳細をロードするには、_init()_メソッドが呼び出されます。
- filePath、modified、およびidを設定します。
- _header()_メソッドは、ヘッダー変数を初期化するために呼び出されます。
- _slug()_メソッドは、URLスラッグを設定するために呼び出されます。
- _visible()_メソッドは、可視状態を設定するために呼び出されます。
- _(アンダースコア)で始まるフォルダーに基づいて、_modularTwig()_が設定されます。
- 後で_onPageProcessed_イベントを発生させます。
- _recurse()_フォルダーが見つかった場合の子。
- _onFolderProcessed_イベントを発生させます。
- _buildRoutes()_メソッドを呼び出します。
- すべてのページで、_taxonomy_が初期化されます
- _route_テーブルは、高速検索用に構築されています。
- _onPagesInitialized_および_onPageInitialized_イベントが発生します。
- デバッガーCSS/JSがアセットに追加されます。
- Twigの_processSite()_メソッドを使用して、出力を取得します。
- イベント_onTwigSiteVariables_が発生します。
- ページの出力を取得します。
- ページが見つからないかルーティングできない場合、イベント_onPageNotFound_が発生します。
- すべてのTwig変数は、twigオブジェクトに設定されます。
- テンプレート名は、ファイル/ヘッダー/拡張子情報に応じて設定されます。
- _render()_メソッドが呼び出されます。
- ファイル形式をHTMLで返します
- _onOutputGenerated_イベントを発生させます。
- HTTPヘッダーを設定します。
- 出力を表示します
- 出力バッファはページにフラッシュされます。
- イベント_onOutputRendered_が発生します。
- クライアントへの接続を閉じます。
- 最後に、_onShutDown_イベントを発生させます。
_content()_メソッドがページで呼び出されると、次のライフサイクルが発生します。
- _onPageContentRaw_イベントが発生します。
- MarkdownとTwigの設定に従って、ページを処理します。
- _onPageContentProcessed_イベントを発生させます。