この記事は主に、Kaka によるフレームワーク コードの最適化について説明していますが、これは単なる Kaka の最適化アイデアにすぎません。
thinkphp/library/think /Config.php
のメソッドloadFile は、ここでは少し洗練されていないように思えます。
parse
メソッドはメソッドの最後で使用されるため、他の種類の構成ファイルを読み込むのは前述のファクトリー モードになります。
それでは、このファクトリーモードで PHP および yaml タイプの構成ファイルもロードできるようにしてみてはいかがでしょうか。
現時点では、thinkphp/library/think/config/driver
ディレクトリに php ファイルと yaml ファイルを作成する必要があります。
まずphpファイルを作成します。
そして、他の 3 種類のファイルを真似て、php ファイル タイプでは、それがファイルであるかどうかを判断して、そのファイルをインポートするだけで済みます。
フレームワークでは、PHP タイプの設定ファイルはすべて配列形式であるため、Php.php ファイルの parse メソッドは config 属性を直接返すことができます。
楽しいテストを始めましょう! CONFIG_EXT の値は、以前に env ファイルで yaml として構成されていました。
つまり、config ディレクトリ内の設定ファイルを読み取る場合、yaml 型に展開されたファイルのみを読み取ることができます。
したがって、最初にこの値を元に戻す必要があります。後で yaml タイプ ファクトリ クラスを作成した後でこの値を使用できるようになります。
テストしやすいように、config ディレクトリに新しい構成を追加します。
次に、config クラスの lodeFile メソッドで php および yaml のタイプを決定するコードをコメント アウトします
コントローラーで config/app.php 設定を読み取ります
結果を出力します
印刷 結果には欠陥はありません。これは、単に最適化しただけのコードには何も問題がないことを意味します。 yaml も同様で、最終的なデータを配列に変換して返すだけです。
上記は、フレームワーク設定ファイルの基になるソースコードをロードする Kaka の最適化の分析プロセスです。不快な点がある場合は、コメント領域で指摘してください。
学習の継続、ブログの継続、共有の継続は、Kaka が設立以来常に堅持してきた信念です。巨大なインターネット上の Kaka の記事が少しでもお役に立てれば幸いです。カカです、また会いましょう。
以上がThinkPHP 構成読み込みコードの最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。