ThinkPHP システムは 3 つのファイル読み込み方法を提供します:
関数ライブラリ フォーム読み込み:
関数ライブラリと ThinkPHP が含まれます。システム関数ライブラリ ファイル (functions.php)、アプリケーション レベル関数ライブラリ ファイル、およびグループ レベル関数ファイルの 3 つのカテゴリ。
これら 3 種類の関数ライブラリ ファイルのうち、システム関数ライブラリ ファイル (functions.php) のみがシステムにデフォルトで存在し、他の 2 種類の関数ライブラリ フォームは自分で作成する必要があります。
同時に、システム関数ライブラリ ファイルのみがfunctions.phpという名前になり、他の 2 種類の関数ライブラリ形式ファイルは function.php という名前になることに注意してください。
ケース: 関数ライブラリ フォームを使用して、使用する関数を定義します。関数名:testfunction
<?php function testfunction(){ echo 'testfunction'; } public function test(){ testfunction(); }
表示結果:
定義された関数ライブラリ ファイル内の関数は、使用時に PHP の組み込み関数構文の要件に従います。 、関数名(パラメータ)を直接記述するだけです。
手順:
最初: function.php を導入する必要はありません、システムは実行中に自動的に function.php ファイルを導入します;
2 番目:関数がアプリケーション レベルの関数ライブラリ ファイルで定義されている場合、その関数はすべてのグループ (アプリケーション全体) で使用できます。関数が特定のグループの関数ライブラリ ファイルで定義されている場合、その関数は現在のグループでのみ使用できます。グループの場合、それ以外の場合、関数は「未定義」と報告されます。
構成アイテムによる動的読み込み:
システムの実行プロセスでは、ファイルが App.class.php
static public function init() { // 加载动态应用公共文件和配置 load_ext_file(COMMON_PATH);
に対して実行されます。このメソッドでは、load_ext_file 関数が実行されます。
このメソッドは PHP 組み込みメソッドではありませんが、システム関数ライブラリ ファイルで定義されています:
function load_ext_file($path) { // 加载自定义外部文件 if($files = C('LOAD_EXT_FILE')) { $files = explode(',',$files); foreach ($files as $file){ $file = $path.'Common/'.$file.'.php'; if(is_file($file)) include $file; } }
拡張子: C メソッド
C メソッドも簡単なメソッドの 1 つで、その機能は ThinkPHP で構成アイテムを操作することです:
C(name,value); 構成アイテム名の値を設定します、値は value です
C (name); 設定項目名の値を読み取ります
C(); すべての設定項目を読み取ります
設定項目:
が定義されていますアプリケーションレベルの設定ファイル内 設定項目 LOAD_EXT_FILE では、ファイル info.php が導入されます。
'load_ext_file' => 'info', //包含文件名的字符串,多个文件名通过使用英文半角逗号分割
アプリケーション関数ライブラリ ファイル ディレクトリに info.php を定義します
<?php function getInfo(){ phpinfo(); }
public function test(){ getInfo(); }
# なお、システムカプセル化方式では同じファイルが導入されているため、特定の機能を使用する場合には別途ファイルを導入する必要はなく、直接記述する必要があります。関数ライブラリ ファイルの形式で使用される関数名を指定し、対応するパラメーターを渡します。
load メソッドによるロード構文:
load(‘@/不带后缀的php文件名’);
ファイルはグループレベルの関数ライブラリ ディレクトリに存在する必要があることに注意してください。定義されたグループ内でのみ使用できます。
ケース: グループ ディレクトリにファイル hello.php を自分で作成し、その中に関数を定義し、load メソッドを使用して関数をロードして使用します。
<?php function sayhello($who){ echo 'hello ' . $who; }
コントローラーのloadメソッドを使用してhello.phpファイルをロードします:
public function test(){ //load load('@/hello'); //调用函数 sayhello(world); }
表示効果:
手順:上記 3 つのファイルロード方法はすべて、実際の開発中に使用できますが、一般的には最初の方法 (関数ライブラリの形式での自動ロード) がメインとなります。
推奨チュートリアル:
thinkphp チュートリアル以上がThinkPHP のいくつかのファイル読み込み方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。