我正在使用Yii开发一个网站。我想在程序中动态更改应用程序名称。我知道我必须更改Yii :: app() - >名称值。但是我知道在哪里可以用它来覆盖config.php文件中的内容。
我应该把它放在哪里?
答案 0 :(得分:3)
$ name是CApplication的公共值,您可以在理论上进行设置。
但这不是一个好主意,该名称用于getId()函数,id用作缓存中的keyPrefix,也可能用于其他任何地方。所以不要动态更改应用程序名称。
如果你想要的是动态更改页面标题,你可以设置CController :: $ pageTitle。
答案 1 :(得分:1)
可能有一个老问题,但我只花了一个小时来解决这个问题并且无法找到一个简单的解决方案,所以这里是:
只要您没有使用任何缓存组件,就可以动态更改Yii :: app() - >名称。
如果您正在使用缓存,那么如果您为整个应用程序提供一个静态ID (CApplication类的id变量),仍然可以动态设置名称变量。
这是因为CWebUser组件将stateKeyPrefix变量作为会话查找的前缀,如果未设置,则会查找CApplication id,如果未设置,则该ID是应用程序名称的哈希版本。因此,如果您在配置文件中设置这些变量中的任何一个,那么您就可以了。
答案 2 :(得分:0)
为什么需要更改它?显示Yii::app()->name
的任何地方只需使用getAppName()
之类的内容,然后编写一个函数将其从数据库中删除。