3

Yii::app()->name 是否缓存在 yii 上?经常使用它好吗?我决定在我的布局上使用自定义页面标题,并在我的控制器上使用它。

$this->pageTitle = Yii::app()->name . ":" . $action
4

2 回答 2

9

它没有被缓存缓存,但可以随心所欲地使用它。从指南

应用程序对象由入口脚本实例化为单例。通过 Yii::app() 可以在任何地方访问应用程序单例。

所以对象已经存在,你只是访问它来读取name属性。


更新:为了更好地理解这一点,让我们跟踪应用程序生命周期

于 2012-12-14T18:13:22.023 回答
0

经常使用它好吗?

不,这不好,因为如果有一天您需要修改您的应用名称,那么您在每个控制器中更改它都会有问题。我想更好的方法是Yii::$app->name直接在layout.

在您的布局开始时,可​​能在views/layout/main.php添加

Yii::$app->name = Yii::$app->name . ':' . Yii::$app->getView()->id;
于 2017-02-11T10:52:22.687 回答