22

CakePHP でグローバル変数を作成したいと思います。app_controller.php で何かを定義すると

var $varName

アクセスできます

$this->varName

どのコントローラーからでもアクセスできますが、モデルからはアクセスできません。

モデルからアクセスできるグローバル変数を作成するにはどうすればよいですか?

$varName の値は実行時までわからないため、bootstrap.php はオプションではないと思います。

4

7 に答える 7

31

CakePHP の新しいConfigure クラスを使用して、アプリケーションまたはランタイム固有の値を保存および取得できます。注意してください。このクラスには何でも格納でき、コードの他の部分で使用できます

于 2009-03-12T17:27:45.787 に答える
30

グローバル変数を保存するには、構成クラスを使用します。例えば:

Configure::write('Company.name','Pizza, Inc.');

コードの任意の場所で後で変数を読み取るには、次を使用します。

Configure::read('Company.name'); //yields: 'Pizza, Inc.'

グローバル定数を保存するための推奨ファイルはapp/config/bootstrap.phpにあります

詳細については、
クラスの設定 - クラス CakePhpの設定 を参照してください。またはブートストラップに関するセクション 3.4.7

于 2010-12-17T14:05:27.943 に答える
2

アプリのグローバル関数と変数は app/config/bootstrap.php で定義できます

詳細については、http://book.cakephp.org/view/48/Bootstrapping-CakePHPを参照してください。

于 2009-03-13T21:26:00.277 に答える
1

app/config/ ディレクトリの bootstrap.php で定数を定義できます。これは、任意のコントローラーまたはビューでグローバルに使用できます。

于 2013-06-20T18:10:49.613 に答える
-2

ホント、なんでそんなことするの?モデルは、コントローラーが存在することを認識してはなりません。

ビジネス (モデル) オブジェクトの場合は、そのように作成します。そうでない場合、モデルはそれを認識すべきではありません。

于 2009-03-12T17:37:34.720 に答える