ホームページ >バックエンド開発 >PHPチュートリアル >php mvc開発例の詳細解説(1/3)_PHPチュートリアル

php mvc開発例の詳細解説(1/3)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:09:351233ブラウズ

<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 &mdash; 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>
この関数は、include_path を設定するための静的関数を定義するだけです。このようにして、今後、ファイルまたは __autoload が含まれている場合は、これらのディレクトリで検索されるようになります。

OK、続けて 3 番目の文を見てみましょう

$router =loader::load("router");
1 2 3


http://www.bkjia.com/PHPjc/444798.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444798.html技術記事 ?php チュートリアル include(core/ini.php); $router =loader::dispatch($router); このファイルには 4 つの文しかありません。一度に分析しましょう...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。