Properties Yii2向应用程序添加属性

Properties Yii2向应用程序添加属性,properties,configuration,yii2,Properties,Configuration,Yii2,我想在Yii2应用程序中添加一个新的属性“业务”,这样我就可以像这样访问它: Yii::$app->business 我已尝试将其直接添加到配置文件: 'Id' => 'app-frontend', 'name' => 'Application Name', 'business' => 'Business Name', .... 这给了我一个“business”的“unknown property exception” 经过一番搜索,我试着: Yii::$app-&g

我想在Yii2应用程序中添加一个新的属性“业务”,这样我就可以像这样访问它:

Yii::$app->business
我已尝试将其直接添加到配置文件:

'Id' => 'app-frontend',
'name' => 'Application Name',
'business' => 'Business Name',
....
这给了我一个“business”的“unknown property exception”

经过一番搜索,我试着:

Yii::$app->session->set('app.business','Business Name');
Yii::$app->session->get('app.buisness');
但仅当我通过会话访问它时才起作用

我知道如何在params设置中创建它,但我们知道的是app->name。方法

我想我需要在根模型中添加业务属性?但不知道在哪里钻进去


请给我指出正确方向的任何帮助。

您可以扩展应用程序类,添加所需的属性,并在引导中使用它

为web创建类:

class MyApplication extends \yii\web\Application {

    public $supportname;
}
并在index.php中使用它:

(新建MyApplication($config))->run()

您需要对\yii\console\Application和yii脚本执行相同的操作。

您可以扩展应用程序类,添加所需的属性,并在引导中使用它

为web创建类:

class MyApplication extends \yii\web\Application {

    public $supportname;
}
并在index.php中使用它:

(新建MyApplication($config))->run()

您需要对\yii\console\Application和yii脚本执行相同的操作。

检查名称是否正确
app.business
not
app.business
问题是,你是否真的因为某种标签而需要这样做。通常情况下,与框架的设计方式抗争不是最好的主意,因此当您决定这样做时,应该有一个很好的理由。我确实理解你的意思,在这种情况下,我遇到了一种需要,这种需要本可以用几种不同的、可能更好的方法来解决,但当我遇到一堵墙时,我需要找到一种方法来开门。通常,这个群体的回答也会开启一扇可能性更大的大门。扩展应用程序的选项在将来可能会很有用。请检查您的名称是否正确
app.business
not
app.business
问题是,你是否真的因为某种标签而需要这样做。通常情况下,与框架的设计方式抗争不是最好的主意,因此当您决定这样做时,应该有一个很好的理由。我确实理解你的意思,在这种情况下,我遇到了一种需要,这种需要本可以用几种不同的、可能更好的方法来解决,但当我遇到一堵墙时,我需要找到一种方法来开门。通常,这个群体的回答也会开启一扇可能性更大的大门。扩展应用程序的选项将来可能会很有用。