0

のようなアプリケーション定数を追加したいYII_DEBUG。YiiBase クラスで定義する必要があることがわかりました。しかし、私はそうするための最良の方法が何であるかを知りません。

これはYiiのドキュメントに書かれていることです

Yii は、一般的なフレームワーク機能を提供するヘルパー クラスです。

実際の実装を提供する YiiBase をカプセル化します。独自の Yii クラスを作成することにより、YiiBase のいくつかの機能をカスタマイズできます。

独自の Yii クラスをどのように記述すればよいですか?どこに配置し、どこで呼び出す必要がありますか?

4

2 に答える 2

1

リクエスト処理中に自動的に定義されるかなりの数の場所でグローバル定数を定義できます。選択は、何が最も理にかなっているかによって異なります。オプションは次のとおりです。

  1. index.php エントリ スクリプト-- 定数はアプリ全体で使用できます。
  2. 書く前の設定ファイルreturn array(...)- 定数はアプリ全体で使用できますが、呼び出される前Yii::createApplication(または同等のものcreateWebApplication) では使用できません。
  3. アプリケーション クラス定義自体 (グローバル定数の代わりにクラス定数にすることもできます)。createApplicationここでも、定数はエントリ スクリプトで が呼び出された後にのみ使用できます。

Yiiのように普遍的に適用可能な定数を定義したい場合YII_DEBUGは、オプション #1 を選択してください。

于 2013-02-06T13:27:08.277 に答える
0

このクラスで何をしようとしているのかによって、ベスト プラクティスを決定することができます。最も簡単な方法は、新しいクラス ファイルを vendors フォルダに設定し、myclass.php と呼ぶことです。次に、次のように、config/main.php ファイルで vendors フォルダーが選択されていることを確認する必要があります。

Yii::import('application.vendors.*');
require_once('myclass.php');

最後に、次のように、アプリケーション内のほぼどこからでも新しいクラスを呼び出すことができるはずです。

$myclass = new myclass();
$myclass->thisMethod();

もちろん、他の方法もあります。カスタム クラスで何をしたいかによっては、別の方法を使用する方がよい場合もありますが、この方法を使用すると確実にすばやく起動して実行できます。

于 2013-02-06T13:26:32.133 に答える