注意: このセクションは開発中です。
Yiiは、文字列や配列の操作、HTMLコードの生成など、一般的なコーディングタスクを簡素化する多くのクラスを提供しています。 これらのヘルパークラスは `yii\helpers` 名前空間に編成されており、すべて静的クラスです(つまり、静的プロパティとメソッドのみを含み、インスタンス化しないでください)。
ヘルパークラスは、次のように静的メソッドの1つを直接呼び出すことによって使用します
use yii\helpers\Html;
echo Html::encode('Test > test');
注意: ヘルパークラスのカスタマイズをサポートするために、Yiiは各コアヘルパークラスを2つのクラスに分割します。基底クラス(例:`BaseArrayHelper`)と具象クラス(例:`ArrayHelper`)です。 ヘルパーを使用する場合は、具象バージョンのみを使用し、基底クラスは使用しないでください。
Yiiリリースでは、次のコアヘルパークラスが提供されています
コアヘルパークラス (例: yii\helpers\ArrayHelper) をカスタマイズするには、ヘルパーに対応する基底クラス (例: yii\helpers\BaseArrayHelper) を継承した新しいクラスを作成し、そのクラスに、対応する具象クラス (例: yii\helpers\ArrayHelper) と同じ名前(名前空間を含む)を付けます。 このクラスは、フレームワークの元のヘルパークラスを置き換えるように設定されます。
次の例は、yii\helpers\ArrayHelper クラスの merge() メソッドをカスタマイズする方法を示しています。
<?php
namespace yii\helpers;
class ArrayHelper extends BaseArrayHelper
{
public static function merge($a, $b)
{
// your custom implementation
}
}
クラスを ArrayHelper.php
という名前のファイルに保存します。 このファイルは、任意のディレクトリ(例: @app/components
)に配置できます。
次に、アプリケーションの エントリスクリプト で、yii.php
ファイルをインクルードした後に、次のコード行を追加します。これは、Yii クラスオートローダー に、フレームワークの元のヘルパークラスではなく、カスタムクラスを読み込むように指示するためです。
Yii::$classMap['yii\helpers\ArrayHelper'] = '@app/components/ArrayHelper.php';
ヘルパークラスのカスタマイズは、ヘルパーの既存の関数の動作を変更する場合にのみ役立ちます。 アプリケーションで使用する追加の関数が必要な場合は、代わりに別のヘルパーを作成することをお勧めします。
タイプミスを見つけましたか、またはこのページの改善が必要だと思いますか?
GitHub で編集する !
コメントするには、サインアップ または ログイン してください。