Grav-lifecycle

提供:Dev Guides
移動先:案内検索

Grav-ライフサイクル

この章では、Gravのライフサイクルを理解します。 Grav Lifecycleは、プラグインを介してGravを拡張するためにGravが処理する方法を決定します。 次の図は、Gravライフサイクルプロセスのフローを示しています。

Grav Lifecycle

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_イベントを発生させます。