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)