Execute my code before any action of any controller

In case you need to execute a code before every controller and action, you can do like below:

1 – Add a component into your components directory, for example(MyGlobalClass):

namespace app\components;
class MyGlobalClass extends \yii\base\Component{
    public function init() {
        echo "Hi";
        parent::init();
    }
}

2 – Add MyGlobalClass component into your components array in config file:

'components' => [
    'MyGlobalClass'=>[
        'class'=>'app\components\MyGlobalClass'
     ],
     //other components

3 – Add MyGlobalClass into bootstarp array in config file:

'bootstrap' => ['log','MyGlobalClass'],

Now, you can see Hi before every action.

Please note that, if you do not need to use Events and Behaviors you can use \yii\base\Object instead of \yii\base\Component

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)