2015-06-04 99 views
2

我是这个zend2的新手,之前我使用CAKEPHP & codeigniter。我想在一个特定的文件中编写一些常量值&能够在项目中的任何位置访问它们。在zend框架中定义常量值和全局访问2

在CakePHP这就像Configure::write('environment','dev');我们写这在Config文件夹文件,该文件将在app/Config/file name

,我们可以在任何地方访问这个喜欢$env = Configure::read('environment'); ..

我们能否以同样的方式做在zend框架2中,像定义文件中的常量&可以在任何地方访问它们。 请举例如何定义&与该文件的路径读它

回答

0

首先定义变量在config

,如: -

accountUser.admin = "admin" 

然后初始化状物体(在控制器或模型) : -

$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/config.ini', APPLICATION_ENV); 
// APPLICATION_PATH is path to project 
// APPLICATION_ENV will be your environment 

然后使用它像: -

$admin = $config->accountUser->admin; 
+1

这是针对ZF1的,OP的问题是“我们可以在zend框架2中以相同的方式吗?” – AlexP

1

不是简短的答案。 Cake,ZF1,CodeIgniter都使用了一种现在被广泛劝阻的设计模式,称为Registry Pattern(这实际上只是一个Singleton)。

这个课程是全球性的,这是为什么不建议使用它的原因之一。

ZF2有一个完全不同的架构,并提供了一个灵活的方法merging configuration based on environment variables。当谈到'使用'配置时,您应该使用服务管理器和service factory将它注入到您的服务中。

+0

是否有解决方案,可能与我所问的相似? – kumar