Страница 1 из 1

Как получить yii\web\Application Object(Yii:$app) frontend из backend в yii2?

Добавлено: 2019.10.21, 13:20
b.alex
Делаю RBAC
Задача получить все контролеры и их экшены из backend и frontend, да вообще со всего проекта, не важно extentions или я еще раздел добавлю например api, чтобы с админки назначать доступ до каждого экшена для роли

Rbac делаю как расширение, доступ к его контролеру делаю через controllerMap

Код: Выделить всё

    'controllerMap' => [
        'route' => 'myrbac\rbac\backend\controllers\RouteController',
            
    ],
Контролеры и экшены пробую получать из объекта yii\web\Application то есть отсюда Yii:$app
Но вот беда, так я могу получить контролеры только из backend приложения

Пробовал поставить контроллермап в common config не помогло так же выдает объект Yii:$app приложения backend

Код: Выделить всё

    'controllerMap' => [
        'route' => 'myrbac\rbac\backend\controllers\RouteController',
            
    ],
Как быть?

Re: Как получить yii\web\Application Object(Yii:$app) frontend из backend в yii2?

Добавлено: 2019.10.21, 16:29
yiijeka
Получить объект класса yii\web\Application для frontend из backend у вас не получится, потому что такого объекта в backend части не существует. Чтобы такой объект создать вам понадобится код, который дублирует по сути код из frontend/web/index.php

Код: Выделить всё

$application = new yii\web\Application($frontendConfig);