第一个文件加载在cakephp中

时间:2012-05-16 02:12:36

标签: cakephp cakephp-1.3

我正准备面试,我是cakephp的新手,在互联网上搜索时遇到了这些问题...
"使用cakephp运行应用程序时加载的第一个文件是什么?"
答案:
访问者:使用cakephp运行应用程序时第一个加载的文件是什么。,
候选人:你能改变那个档案吗? 采访者:是的 bootstrap.php,是的,它可以通过index.php或通过htaccess来改变 如果该特定文件不可更改,则首先加载哪个文件 我试图找出答案,但无法得到答案 有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:4)

正在加载的第一个文件是index.php(根据.htaccess重写规则)在webroot文件夹中,这将在include路径中添加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而你不会修改(除非你在某些particular cases中),然后app/Config/bootstrap.php和你{{3 }}

答案 1 :(得分:1)

这可能会有所帮助:

从蛋糕2.6开始,这里是要加载的配置文件的顺序

core.php
database.php
bootstrap.php
routes.php