定义常数值&在zend框架中全局访问2

时间:2015-06-04 17:27:33

标签: php cakephp zend-framework2

我是这个zend2的新手,之前我曾在CAKEPHP&笨。我想在特定的文件中写一些常量值。能够在项目的任何地方访问它们。

在cakephp中,就像Configure::write('environment','dev');我们在Config文件夹中的文件中写的那样,该文件位于app/Config/file name

我们可以像$env = Configure::read('environment');任何地方{/ p>那样访问它

我们可以在zend框架2中以相同的方式进行,比如在文件和文件中定义常量。可以随时随地访问它们吗? 请举例说明如何定义&用文件的路径读取它

2 个答案:

答案 0 :(得分:1)

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

这个类是全局可访问的,这也是不建议使用它的原因之一。

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

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