在*.ini配置中的APPLICATION_PATH,它是如何工作的?

vie*_*ean 4 zend-framework

一个*.ini文件具有恒定:APPLICATION_PATH

APPLICATION_PATH何时设置,它是如何工作的?

例如,请参阅以下代码

; application/configs/application.ini

[production]
; PHP settings we want to initialize
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
Run Code Online (Sandbox Code Playgroud)

Mar*_*yor 7

APPLICATION_PATH是ZendFramework用于确定部署/安装项目的位置的PHP常量.它通常在newproject/public/index.php中定义

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH',
              realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV',
              (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV')
                                         : 'production'));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();
Run Code Online (Sandbox Code Playgroud)

Application.ini不是php类/文件,它是一个配置文件,这意味着它遵循不同的语法.

要将字符串和常量连接在一起,只需将它们放在一起,就不要使用点(.)运算符.需要注意的一件事是你必须使用双引号("),否则不会评估常量.

有关更多信息,您可以查看parse_ini()函数的文档,该函数是ZendFramework用于解析配置文件的函数.

参考文献:http: //php.net/manual/en/function.parse-ini-file.php http://php.net/manual/en/function.constant.php http://framework.zend.com/手动/ EN/zend.application.quick-的start.html