0

サイトのグローバル設定を持つテーブルが DB にあります。FuelPHP の起動時にこれらのパラメーターをロードし、すべてのコントローラーで使用したいと考えています。テーブル列は id|setting_name|setting_value です。私は codeigniter を使用し、ヘルパーとしてコーディングされました。関数 site_settings('parameter') を呼び出したところ、結果が得られました。燃料でこれを行う方法は?

4

3 に答える 3

0

最善かつ最も透過的なソリューションは、Config クラスを拡張して、サポートされるバックエンドとして DB を追加することです。

http://fuelphp.com/forums/discussion/3104/dbconfig-store-your-app-specific-config-setting-in-a-db-rather-than-loads-of-config-files、古いかもしれませんが、それを行う方法についていくつかの指針を示します。

多くの依存関係が必要になるため、これには ORM を使用しないでください。代わりに通常の DB 呼び出しを使用してください。

于 2013-02-13T09:56:18.590 に答える
0

Fuel で動作させるには、クラスを作成する必要があります。

データベースへのフックが組み込まれているため、モデルを作成することは理にかなっています。Model_Crud または ORM を調べてください。

http://fuelphp.com/docs/classes/model_crud/introduction.html http://fuelphp.com/docs/packages/orm/intro.html

これらは両方とも、データベースにアクセスし、必要に応じて設定を更新および作成できます。

次に、それを構成ファイルに追加して、自動ロードします。

http://fuelphp.com/docs/general/configuration.html

コア Config クラスを拡張することもできます: http://fuelphp.com/docs/classes/config.html http://fuelphp.com/docs/general/extending_core.html

これにより、基本的なゲッターとセッターを含む cor config メソッドにアクセスできます。

于 2013-02-07T15:05:49.283 に答える
0

GlobalController などの新しいコントローラーを作成し、他のコントローラーをグローバルコントローラーに拡張できます。

次に GLobalController でbefore()関数を作成します。つまり、この関数は他の関数よりも先に実行されます。

public function before() {
    parent::before();
    $this->globalstring = "MyGlobalString"; 
}

これで、拡張されたすべてのコントローラーは、その関数に入れられた文字列またはその他のものをGlobalController検出できます。$this->globalstring

于 2013-02-07T16:54:29.653 に答える