在Zend中存储应用程序常量的位置?

9 php zend-framework constants

我有一些常量,我需要为我的应用程序定义,例如,SITE_KEY,它将包含salt密码的随机密钥.

不过,我不确定在哪里定义它们.我想把它们放在public/index.php中,但这看起来有点乱.根据Zend或其他什么,是否有一个特定的地方应该去?

谢谢

编辑

我试着这样做:在我的身上application.ini我有这个:

siteglobal.sitekey = "test"

在我的bootstrap.php文件中:

protected function _initGlobals()
{
$config = $this->getOptions();
define('SITE_KEY', $config['siteglobal']['sitekey']);

}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在我的控制器中回显SITE_KEY时,这不起作用:

echo SITE_KEY;

它没有显示任何东西.有任何想法吗?

小智 12

在我的应用程序中,我将Haim和Yeroon的方法结合起来.我将应用程序常量存储在我的中application.ini,然后Bootstrap将它们解析并放入其中Zend_Registry.

所以,在 application.ini

constants.site_key = my_site_key
Run Code Online (Sandbox Code Playgroud)

在里面 Bootstrap

protected function _initConstants()
{
    $registry = Zend_Registry::getInstance();
    $registry->constants = new Zend_Config( $this->getApplication()->getOption('constants') );
}
Run Code Online (Sandbox Code Playgroud)

然后我可以从应用程序中的任何位置(模型,控制器等)访问这些常量

Zend_Registry::getInstance()->constants->site_key
Run Code Online (Sandbox Code Playgroud)