skeeks\cms\traits\HasComponentDbSettingsTrait::getSettings PHP Method

getSettings() public method

public getSettings ( ) : array
return array
    public function getSettings()
    {
        if (\Yii::$app instanceof Application) {
            return $this->fetchDefaultSettings();
        }
        $key = $this->getCacheKey();
        $dependency = new TagDependency(['tags' => [$this->className(), $this->className() . (string) $this->namespace]]);
        $settingsValues = \Yii::$app->cache->get($key);
        if ($settingsValues === false) {
            $settingsValues = $this->fetchDefaultSettings();
            //Настройки для текущего сайта
            if ($site = \Yii::$app->currentSite->site) {
                $settingsValues = ArrayHelper::merge($settingsValues, $this->fetchDefaultSettingsBySiteCode($site->code));
            }
            //Настройки для текущего пользователя
            if (!\Yii::$app->user->isGuest) {
                $settingsValues = ArrayHelper::merge($settingsValues, $this->fetchDefaultSettingsByUserId(\Yii::$app->user->identity->id));
            }
            \Yii::$app->cache->set($key, $settingsValues, 0, $dependency);
        }
        return $settingsValues;
    }