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

时间:2011-10-11 15:13:08

标签: 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"

3 个答案:

答案 0 :(得分: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();

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/manual/en/zend.application.quick-start.html

答案 1 :(得分:2)

您应该在public_html/index.php

中找到它的定义

答案 2 :(得分:1)

Zend Frameworks使用两个重要的动态常量(APPLICATION_PATH,APPLICATION_ENV)来使整个框架在托管的任何位置正常工作。

必须在使用之前进行初始化。所以在index.php中初始化,因为每个请求都将通过zend框架中的index.php。