如何在高级应用程序的每个页面加载时加载 class
How to load class at every page load in advanced app
我想要 class 每次有人加载页面时,我都会把我应该 运行 的所有方法都放在里面,我们称之为 InitRoutines。
在 yii2 基本应用程序中,我会做这样的事情。我会将 class 添加到组件配置文件,然后将其添加到 bootstrap,就这么简单。
但我不知道如何在高级应用程序中做到这一点,最好在 common/config
config.php
$config = [
// ..
'components' => [
'InitRoutines' => [
'class' => 'app\commands\InitRoutines',
],
],
];
$config['bootstrap'][] = 'InitRoutines';
在 InitRoutines 中,我有 init class,其中 运行 我在页面加载时需要的一切。
InitRoutines.php
namespace app\commands;
use Yii;
use yii\base\Component;
use app\commands\AppHelper;
use app\commands\Access;
class InitRoutines extends Component
{
public function init()
{
parent::init();
Access::checkForMaintenance();
Yii::$app->language = AppHelper::getUserLanguageCode();
}
}
如何在高级应用程序中完成相同的操作?
我想我找到了解决方案,我不知道它是否正确,但它似乎有效。
config.php
return [
// ...
'components' => [
'InitRoutines' => [
'class' => 'common\commands\InitRoutines',
],
],
'bootstrap' => [
'log',
'common\commands\InitRoutines'
],
];
我想要 class 每次有人加载页面时,我都会把我应该 运行 的所有方法都放在里面,我们称之为 InitRoutines。
在 yii2 基本应用程序中,我会做这样的事情。我会将 class 添加到组件配置文件,然后将其添加到 bootstrap,就这么简单。
但我不知道如何在高级应用程序中做到这一点,最好在 common/config
config.php
$config = [
// ..
'components' => [
'InitRoutines' => [
'class' => 'app\commands\InitRoutines',
],
],
];
$config['bootstrap'][] = 'InitRoutines';
在 InitRoutines 中,我有 init class,其中 运行 我在页面加载时需要的一切。
InitRoutines.php
namespace app\commands;
use Yii;
use yii\base\Component;
use app\commands\AppHelper;
use app\commands\Access;
class InitRoutines extends Component
{
public function init()
{
parent::init();
Access::checkForMaintenance();
Yii::$app->language = AppHelper::getUserLanguageCode();
}
}
如何在高级应用程序中完成相同的操作?
我想我找到了解决方案,我不知道它是否正确,但它似乎有效。
config.php
return [
// ...
'components' => [
'InitRoutines' => [
'class' => 'common\commands\InitRoutines',
],
],
'bootstrap' => [
'log',
'common\commands\InitRoutines'
],
];