Configurar Parametros do Yii com dados do banco

Galera bom dia.

Mais uma vez com uma pergunta daquelas complicadas. Estou ajudando meu pai a montar um app pelo Yii, porém será como um "instalador". para cada lugar ele irá installar a app em um servidor. Porém ele que pegar uma tabela no banco e carregar algumas informações dela nos arquivos params.php do Yii.

Seria algo assim. Arquivo app/common/config/params.php


<?php

return [

    'adminEmail' => 'admin@example.com',

    'supportEmail' => 'support@example.com',

    'user.passwordResetTokenExpire' => 3600,

    'company' => valor_recuperado_do_banco,

    'title' => valor_recuperado_do_banco,

];



Alguém já fez isso?

Eu faço da seguinte forma, crio as colunas no model USER com os nomes dos parâmetros, e recupero após o usuario autenticar no sistema. Algo mais ou menos assim:


class BaseController extends \yii\web\Controller

{

	public function init()

	{

		parent::init();

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

        	Yii::$app->language = Yii::$app->user->identity->profile->language;

        	'adminEmail' => Yii::$app->user->identity->profile->adminEmail;

	    	'supportEmail' => Yii::$app->user->identity->profile->supportEmail;

            'user_passwordResetTokenExpire' => Yii::$app->user->identity->profile->user_passwordResetTokenExpire;

	        'company' => Yii::$app->user->identity->profile->company;

            'title' => Yii::$app->user->identity->profile->title;

    	}

	}

}

Essas variáveis você consegue recuperar depois em qq parte do sistema Gustavo?

Sim, após o usuário autenticar no sistema.

Eu uso dessa forma para obter informações do tipo "preferências do usuário" por exemplo

Entendi. Meu caso é antes disso.

Seria uma tela de cadastro de parâmetros do sistema. Como se fosse um bootstrap.

Eu até pensei em reescrever o arquivo params.php, mas por ele estar fora da estrutura do MVC do Yii, acredito que por segurança, não consiga sobrescrever nesse arquivo.

Entendi… :)

No exemplo que postei, eu uso como "preferências do usuário", mas no seu caso você usar como "parâmetros do sistema", cria um model e coloca esses atributos lá, aí é só seguir a mesma lógica.

Um arquivo de configuração eu acho mais bacana, mas se for para um usuário final alterar, aí prefiro fazer no banco de dados. Da pra validar e tal…

Já tive um problema parecido… consegui resolver desta maneira.

http://www.yiiframework.com/forum/index.php/topic/15881-configuracao-da-aplicacao/

[]s

Valeu Edson, vou dar uma olhada e tentar implementar.