私はyiiフレームワークに取り組んでいます。tbl_settingテーブルと設定モデルがあります。多くのキーと値があります。管理者は、管理パネルからすべての値を変更できます。テーブル構造を以下に示します。
define Value
COMPANY_NAME Google
META_TITLE .::My Site::.
........
........
コア php では、define() を使用してすべてのキー値を定義していましたが、yii ではどのようにグローバルに使用できますか?
main.php ファイルの params に設定しようとしましたが、設定モデルを使用できません。
私は答えを見つけました。以下のアプローチを使用して実行しました。これが良い方法かどうかはわかりませんが、他の良い方法を知っている人は投稿してください。
新しいコンポーネントを作成しました: WebSetting.php
class WebSetting extends CApplicationComponent
{
function getValue($key)
{
$model = Setting::model()->findByAttributes(array('define'=>$key));
return $model->value;
}
}
main.php
'setting'=>array('class'=>'WebSetting'),
そして今、私はどこからでもすべての値にアクセスできます:
echo Yii::app()->setting->getValue('META_TITLE');
echo Yii::app()->setting->getValue('COMPANY_ADDRESS');