<blockquote><?php教程<br />include("core/ini.php");<br />initializer::initialize();<br />$router = loader::load("router");<br />dispatcher::dispatch($router);</blockquote>
この文書には 4 つの文しかありません。では、文ごとに分析してみましょう。
include("core/ini.php");
core/ini.php を見てみましょう
<blockquote><?php<br />set_include_path(get_include_path() . path_separator . "core/main");<br />//set_include_path — sets the include_path configuration option<br />function __autoload($object){<br />require_once("{$object}.php");<br />}</blockquote>
このファイルは最初に include_path を設定します。つまり、インクルードされたファイルを見つけたい場合は、システムに検索するように指示します。このディレクトリにあります。実際、__autoload() メソッドが定義されています。このメソッドは、関数をインスタンス化するときに、ファイルが存在しない場合に自動的にロードされます。公式の説明は次のとおりです:
次に次の文を見てみましょう
initializer::initialize();
これは、ini.php で include_path を設定し __autoload を定義したため、initializer クラスの静的関数である initialize を呼び出すことを意味します。 core/main ディレクトリーで、initializer.php を自動的に検索します。initializer.php ファイルは次のとおりです。
<blockquote><?php<br />class initializer<br />{<br />public static function initialize() {<br />set_include_path(get_include_path().path_separator . "core/main");<br />set_include_path(get_include_path().path_separator . "core/main/cache");<br />set_include_path(get_include_path().path_separator . "core/helpers");<br />set_include_path(get_include_path().path_separator . "core/libraries");<br />set_include_path(get_include_path().path_separator . "app/controllers");<br />set_include_path(get_include_path().path_separator."app/models");<br />set_include_path(get_include_path().path_separator."app/views");<br />//include_once("core/config/config.php");<br />}<br />}<br />?><br> </blockquote>