Ustawienia aplikacji

Zawsze się zastanawiałem i w sumie nadal zastanawiam jak zrobić ustawienia aplikacji zmieniane z poziomu panelu administracyjnego.

Załóżmy, że opcjami np będą, wyłącz stronę itd. Często właśnie na stronach widuje się zakłądkę konfiguracja czy ustawienia gdzie można zmieniać dla całej aplikacji.

Musisz z pewnością napisać komponent który połączy się z Twoją bazą danych na etapie bootstrapowania applikacji i zwróci odpowiednie dane. Oto ustawienia które wywalą użytkownika niezalogowanego w głównym pliku konfiguracyjnym, w sekcji components:

‘on beforeAction’ => function ($event){

    if(Yii::$app->user->isGuest && Yii::$app->getRequest()->url !== \yii\helpers\Url::to(Yii::$app->getUser()->loginUrl))


    {


        Yii::$app->getResponse()->redirect(\yii\helpers\Url::to(\Yii::$app->getUser()->loginUrl))->send();


        return;


    }


    if(! Yii::$app->user->isGuest && !Yii::$app->user->identity->isAdmin) {


        throw new yii\web\ForbiddenHttpException("Forbidden access");


    }





},