我正在准备面试,我是 cakephp 新手,在互联网上搜索时,我遇到了这个问题......
“当你使用 cakephp 运行应用程序时,第一个加载的文件是什么?”
回答:
面试官:当你使用 cakephp 运行应用程序时,第一个加载的文件是什么?
候选人:你能改变那个文件吗?面试官:是
的 bootstrap.php ,是的,是可以改变的,要么通过 index.php ,要么通过 htaccess
哪个文件先加载,如果那个特定的文件是不可改变的。
我试图找出答案,但无法得到答案。
有人可以帮我吗?
问问题
4236 次
2 回答
4
第一个被加载的文件index.php
(根据.htaccess
重写规则)在 webroot 文件夹中,它将在包含路径中添加 CakePHP 的核心
CakePHP 1.3
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);
}
}
if (!include(CORE_PATH . 'cake' . DS . 'bootstrap.php')) {
trigger_error("CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR);
}
CakePHP 2.1
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
if (function_exists('ini_set')) {
ini_set('include_path', ROOT . DS . 'lib' . PATH_SEPARATOR . ini_get('include_path'));
}
if (!include('Cake' . DS . 'bootstrap.php')) {
$failed = true;
}
} else {
if (!include(CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php')) {
$failed = true;
}
}
然后它包括bootstrap.php
两种情况。
所以答案是:index.php
你不应该修改它(除非你在某些特殊情况下),那么app/Config/bootstrap.php
你可以修改它。
于 2012-05-16T10:37:09.170 回答
1
这可能会有所帮助:
从 cake 2.6 开始,这里是要加载的配置文件的顺序
core.php
database.php
bootstrap.php
routes.php
于 2015-10-17T15:41:17.280 回答