Наследование yii\web\Application


В yii2 основные объекты также легко расширяются

// Файл components/MarvinApplication.php

namespace app\components;

use Yii;

class MarvinApplication extends \\yii\\web\\Application
{

    public function getGroup()
    {
        if (!Yii::$app->user->isGuest)
            return Yii::$app->user->identity->group;
        throw new yii\\web\\UnauthorizedHttpException;
    }

}

Вызывается из стартового index.php

$config = require(__DIR__ . '/../config/web.php');

Yii::$classMap['app\components\MarvinApplication'] =
   __DIR__.'/../components/MarvinApplication.php';

(new app\\components\\MarvinApplication($config))->run();