ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP 構成ソースコードの実行プロセス

ThinkPHP 構成ソースコードの実行プロセス

咔咔
咔咔オリジナル
2020-10-09 15:11:051598ブラウズ

今回はConfigソースコードの簡単な実行解析を中心に説明しますので、図からコードまで理解を深めていただければ幸いです。上記の yaconf はここに反映されており、すべての記事はその後に続く道を切り開くものです。

6. ソース コードの設定実行プロセス

上記の Yaconf は設定に関してはあまり役に立ちませんソース コードの分析 役に立つだけでなく、考え方の幅も広がるため、将来的には仕事で Yaconf を使用してみることができます。

本題に入りますが、Config の読み込みと解析の仕組みを知りたい場合は、まず図を描いてみましょう。設定をロードする実行プロセスを見てみましょう。

public/index.php に戻ります。前号で説明したように、クラスの自動ロードは、 Base.php ファイルの。

次に、構成のロードを下の図に示します。ここにはコンテナーが関係しており、コンテナーを分析するための別のトピックがあります。

ここではあまり説明しませんが、このコードは D:\phpstudy_pro\WWW\ThinkPHPSourceCodeAnalysis\thinkphp\library\think\App.php ファイルの run メソッドを実行するために戻ります。

そして、run メソッドで追跡する必要があるのは、initialize アプリケーション初期化関数

initialize# です。 ## このメソッドでは、構成ファイルの手掛かりが表示され、その後に初期化アプリケーションが表示されます##init

init メソッドに到達するまでトピックに入りません。 。

設定ファイルの自動ロードが開始され、config クラスのloadメソッドも呼び出されています。これも一緒に読み取る必要があります。

#ここに来たら、簡単に解釈する必要があります。

アプリ ディレクトリには config ディレクトリが設定されていないため、このコードは直接 elseif に移動します

ここには、おなじみの configPath 属性があります。この値は最終的に

#D:\phpstudy_pro\WWW\ThinkPHPSourceCodeAnalysis\config\

次のステップでは、config ディレクトリ内のすべてのファイルを取り出します。
設定クラスのloadメソッドに渡されます

ここで言及すべき知識ポイントがいくつかあります。復習してください。

  • scandir: ディレクトリ内のすべてのファイルを昇順で返します。2 番目のパラメータ 1 は、次のことを示します。ディレクトリ内のすべてのファイルが降順で返されます。
  • pathinfo: ディレクトリ名、ファイル名、拡張子であるファイル情報を配列形式で返します。いくつかのパラメータはコード内で言及されています。図を参照してください。下に。 。
#このコードには configExt 属性があります。この値は環境変数から読み取られます。指定された値は php

# です。
#学習の継続、ブログの継続、共有の継続は、Kaka が設立以来常に堅持してきた信念です。巨大なインターネット上の Kaka の記事が少しでもお役に立てれば幸いです。カカです、また会いましょう。

以上がThinkPHP 構成ソースコードの実行プロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。