toma-stkのCakePHP自習室

2008-01-17app/webroot/index.php(CakePHP解析 #1) このエントリーを含むブックマーク

今日から、はてな自習室を使ってCakePHPを解析しつつPHPCakePHPを勉強していきたいと思います。

よろしくお願いします。m(_ _)m

まずは「app/webroot/index.php」からですが、ここで肝になるのは『include_path』ではないでしょうか。

<?php
if (!defined('CORE_PATH')) {
	if (function_exists('ini_set')) {
		ini_set('include_path',
 CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS .
 APP_DIR . DS . PATH_SEPARATOR . ini_get('include_path'));
		define('APP_PATH', null);
		define('CORE_PATH', null);
	} else {
		define('APP_PATH', ROOT . DS . APP_DIR . DS);
		define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS);
	}
}
?>

で、include_pathってなんぞや?ってなるわけですが、こちらのデジットさんの説明がとっても分かりやすいです。

http://digit-01.com/ownpage/php_include_path.html

ここが重要ですね。探す順番。

PHP実行ファイルからrequire()、include()等で読み出されるファイルは、次の順番で探されます。

1. include_pathで設定されているディレクトリ

2. 実行しているファイルのあるディレクトリ

3. ./ 又は ../ で始まっている場合は、 実行しているファイルのあるディレクトリからの相対パス

更に、require()、include()されたファイル(例えば「inc.php」)の中にrequire()、include()がある場合は、当然上記のディレクトリを探した後に「inc.php」ファイルがあるディレクトリも探します。

自分の環境で「var_dump(ini_get('include_path'));」としてみたところ次のように出力されました。

string(57) "C:\www\schedule;C:\www\schedule\app\;.;C:\xampp\php\pear\"

CakePHPのフォルダを配置した場所が「C:\www\schedule」なので、CakePHPのルートに当たるディレクトリとその下層の「app」フォルダがinclude_pathに追加されたようです。ちなみに「.;C:\xampp\php\pear\」はphp.iniファイルに設定されていました。

このinclude_pathの設定により、requireやincludeでいちいち相対パスを指定する必要が無くなるわけですね。include_pathの概念がよく分かってなかったので早速勉強になりました。

IliasIlias2012/08/18 18:54My hat is off to your astute cmmoand over this topic-bravo!

sxrwtrdfxjysxrwtrdfxjy2012/08/19 07:48H9vMW2 <a href="http://kjpsoprdybvt.com/">kjpsoprdybvt</a>

ogqrmwouioogqrmwouio2012/08/20 06:09JHixxc , [url=http://pihhhtgutjsz.com/]pihhhtgutjsz[/url], [link=http://kujnvfsfrqri.com/]kujnvfsfrqri[/link], http://gtgfhvuxnasp.com/

AdulToySexComAdulToySexCom2018/01/12 00:56Best Adult Toys and Sex Toys for your Healthy Life! Sex Toys, Dildos, Vibrators, Sex Dolls, and Many More

When you want to shop erotic toys, AdulToySex.com has it all. Whether male or female, straight or gay, and anywhere in between, we have the adult toys and movies you’re looking for.

We also provided FREE SHIPPING WORLDWIDE without minimum orders!

http://www.AdulToySex.com/