フォロワー 1

ヘルパー

注意: このセクションは開発中です。

Yiiは、文字列や配列の操作、HTMLコードの生成など、一般的なコーディングタスクを簡素化する多くのクラスを提供しています。 これらのヘルパークラスは `yii\helpers` 名前空間に編成されており、すべて静的クラスです(つまり、静的プロパティとメソッドのみを含み、インスタンス化しないでください)。

ヘルパークラスは、次のように静的メソッドの1つを直接呼び出すことによって使用します

use yii\helpers\Html;

echo Html::encode('Test > test');

注意: ヘルパークラスのカスタマイズをサポートするために、Yiiは各コアヘルパークラスを2つのクラスに分割します。基底クラス(例:`BaseArrayHelper`)と具象クラス(例:`ArrayHelper`)です。 ヘルパーを使用する場合は、具象バージョンのみを使用し、基底クラスは使用しないでください。

コアヘルパークラス

Yiiリリースでは、次のコアヘルパークラスが提供されています

  • ArrayHelper
  • Console
  • FileHelper
  • FormatConverter
  • Html
  • HtmlPurifier
  • Imagine (yii2-imagine 拡張機能によって提供)
  • Inflector
  • Json
  • Markdown
  • StringHelper
  • Url
  • VarDumper

ヘルパークラスのカスタマイズ

コアヘルパークラス (例: 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 で編集する !