Php ZendFramework-如何声明静态全局常量,以便在我的所有控制器和模型中都可以使用它?

Php ZendFramework-如何声明静态全局常量,以便在我的所有控制器和模型中都可以使用它?,php,zend-framework,Php,Zend Framework,我有50个控制器和90个型号。无论在哪里,我都在使用/重复相同的词“登录”和“成功”。我想使一个全局常量,以便我可以从控制器和模型中的任何位置访问。您如何或在何处声明以下2行 尝试将其放置在具有全局访问权限的位置: defined('MYFIXED_WORD_SUCCESS') || define('MYFIXED_WORD_SUCCESS', "success"); defined('MYFIXED_WORD_LOGIN') || define('MYFIXED_WORD_SU

我有50个控制器和90个型号。无论在哪里,我都在使用/重复相同的词“登录”和“成功”。我想使一个全局常量,以便我可以从控制器和模型中的任何位置访问。您如何或在何处声明以下2行

尝试将其放置在具有全局访问权限的位置:

defined('MYFIXED_WORD_SUCCESS')
    || define('MYFIXED_WORD_SUCCESS', "success");
defined('MYFIXED_WORD_LOGIN')
    || define('MYFIXED_WORD_SUCCESS', "login");
重复的示例:

if (count($result) > 0) 
{
  $return = array(
        'flag'  => 'login',  // replace it with MYFIXED_WORD_
        'result'=> 'success',// replace it with MYFIXED_WORD_
        'extra' => array(group'=>$rec->group,));

在bootstrap.php中包含或设置的任何内容都应该可以从应用程序中的任何位置获得。但请看一看,因为它几乎是你想要的,但以一种有组织的方式。 或者,您可以在application.ini中设置它,然后通过


你“可以”把它放在/public/index.php中,但在我看来,它不是放这种东西的地方。想象一下,当你有成千上万个这样的常量时,它将如何处理一个基本上永远不会更改的文件。

你可以将变量保存在中。我在
应用程序/configs
文件夹中使用
常量.ini
文件,在Bootstrap.php中,我正在迭代和定义常量:

/**
 * Loads app-wide constants from ini file
 */
protected function _initDefineConstants()
{
    $constantFile = APPLICATION_PATH . '/configs/constants.ini';
    $iniParser = new Zend_Config_Ini($constantFile);

    foreach ($iniParser->toArray() as $constName => $constantVal) {
        define($constName, $constantVal);
    }
}
常量.ini的示例:

ADMIN_PRODUCTS_PER_PAGE = 20
PRODUCT_VIEW_REC = 4 ; number of recommended products in Product view

; columns in "options" table
OPT_COL_VAT = vat
OPT_TEL_ORDER = telephone_order
OPT_QUICK_EMAIL = quick_order_email

bootstrap是一个很好的位置或索引。phpHow你在布局中访问这些定义的常量吗?例如,我不知道“布局”到底是什么意思,但是如果它是包装在
中的东西,它们是可用的。它们毕竟是常量(全局名称空间)。