问题描述
我在这上待了几个小时。 我正在寻找一种从配置文件轻松访问应用程序范围变量的方法。 我在https://discourse.laminas.dev/t/define-global-constant-for-use-site-wide/1455下读到,常数不是一个好方法。
在Zend framework - get config inside controller上说,我必须创建一个工厂并在工厂中实例化控制器时传递变量,然后从那里将其注入到视图模型或其他类中。
但是严重的是,这对我来说似乎并不是最好的方法。例如,如果我要访问存储在global.PHP或application.config.PHP中的变量,则必须编写10-15行代码,创建工厂等,直到我最终可以访问它?
没有更简单的方法了吗?
解决方法
不一定需要10-15行代码,一行代码加上一行配置就足够了。
在实例化您的控制器对象的工厂方法中,可以检索配置变量值的一行可能如下所示:
$my_config_value = $container->get('config')['my_config_variable_name'];
该变量必须在某个配置中声明和初始化,例如在 config/autoload/yourmodulename.php 配置文件中,在返回的配置数组中包含一行,如下所示:
'my_config_variable_name' => 'mys3containerpath.com/xxx',