所以基本上我将基于PHP的网站设计为更新,更受支持的框架。目前我的网站是在Kohana 2.3.4中编写的,我正在转向Yii2框架。我面临的最大问题是不同之处在于,在我的Kohana网站上,我在翻译的情况下使用了所有HTML的常量,但现在我没有问题,因为我可以使用:Yii::t()
虽然我已经解决了这个问题,但我需要知道如何将我的设置数组传递给每个控制器上的所有操作。设置从我的SettingsQuery
模型加载,应该从应用程序中的所有视图访问,即。类似全局常量的东西。我尝试了一些从研究中得到的提示,但没有任何工作,因为方案与this和this略有不同。
我尝试过一种实现this方式的方法,但只有当我的设置有静态值时它才有效。这样做的最佳方式是什么?
答案 0 :(得分:3)
我知道在Yii 2.0中声明全局常量的两个可能的地方是:
[your app]/config/params.php
文件我认为是正确的
放置全局设置的地方,因为这就是原因
为...而建。如果你打开那个文件,你就会在里面找到它:
return [
'adminEmail' => 'admin@example.com',
];
此信息可在您的申请中的任何位置访问 这个:
$admin_email = \Yii::$app->params['adminEmail'] ;
因此,为了将其与您的 SettingsQuery模型相关联,您将会这样做 需要创建一个 Bootstrap 类,需要创建一个 来自模型的实例,并使用它来设置全局常量 引导你的应用程序。 @arogachev有一个关于如何在this StackOverflow question.中创建 Bootstrap 类的很好的例子