1 フォロワー

クラス yii\helpers\Html

継承yii\helpers\Html » yii\helpers\BaseHtml
利用可能なバージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/helpers/Html.php

Html は、一般的に使用される HTML タグを生成するための静的メソッドのセットを提供します。

このクラスのメソッドのほとんどすべてで、生成する HTML タグに追加の HTML 属性を設定できます。たとえば、$options パラメータを使用して、HTML 要素に classstyle、または id を指定できます。詳細については、tag() メソッドのドキュメントを参照してください。

Html の詳細および使用方法については、HTML ヘルパーに関するガイド記事を参照してください。

パブリックプロパティ

継承されたプロパティを非表示にする

プロパティ 説明 定義元
$attributeOrder 配列 タグ内の属性の優先順位。 yii\helpers\BaseHtml
$attributeRegex 文字列 属性名の検証に使用される正規表現。 yii\helpers\BaseHtml
$dataAttributes 配列 値が配列型の場合に特別に処理される必要のあるタグ属性のリスト。 yii\helpers\BaseHtml
$normalizeClassAttribute ブール値 タグ属性 class の重複するクラス名を削除するかどうか yii\helpers\BaseHtml
$voidElements 配列 空要素のリスト(要素名 => 1) yii\helpers\BaseHtml

パブリックメソッド

継承されたメソッドを非表示にする

メソッド 説明 定義元
a() ハイパーリンクタグを生成します。 yii\helpers\BaseHtml
activeCheckbox() 指定されたモデル属性のラベルとともにチェックボックスのタグを生成します。 yii\helpers\BaseHtml
activeCheckboxList() チェックボックスのリストを生成します。 yii\helpers\BaseHtml
activeDropDownList() 指定されたモデル属性のドロップダウンリストを生成します。 yii\helpers\BaseHtml
activeFileInput() 指定されたモデル属性のファイル入力タグを生成します。 yii\helpers\BaseHtml
activeHiddenInput() 指定されたモデル属性の隠し入力タグを生成します。 yii\helpers\BaseHtml
activeHint() 指定されたモデル属性のヒントタグを生成します。 yii\helpers\BaseHtml
activeInput() 指定されたモデル属性の入力タグを生成します。 yii\helpers\BaseHtml
activeLabel() 指定されたモデル属性のラベルタグを生成します。 yii\helpers\BaseHtml
activeListBox() リストボックスを生成します。 yii\helpers\BaseHtml
activePasswordInput() 指定されたモデル属性のパスワード入力タグを生成します。 yii\helpers\BaseHtml
activeRadio() 指定されたモデル属性のラベルとともにラジオボタンタグを生成します。 yii\helpers\BaseHtml
activeRadioList() ラジオボタンのリストを生成します。 yii\helpers\BaseHtml
activeTextInput() 指定されたモデル属性のテキスト入力タグを生成します。 yii\helpers\BaseHtml
activeTextarea() 指定されたモデル属性のテキストエリアタグを生成します。 yii\helpers\BaseHtml
addCssClass() 指定されたオプションに CSS クラス(または複数のクラス)を追加します。 yii\helpers\BaseHtml
addCssStyle() 指定された CSS スタイルを HTML オプションに追加します。 yii\helpers\BaseHtml
beginForm() フォーム開始タグを生成します。 yii\helpers\BaseHtml
beginTag() 開始タグを生成します。 yii\helpers\BaseHtml
button() ボタンタグを生成します。 yii\helpers\BaseHtml
buttonInput() 入力ボタンを生成します。 yii\helpers\BaseHtml
checkbox() チェックボックス入力を生成します。 yii\helpers\BaseHtml
checkboxList() チェックボックスのリストを生成します。 yii\helpers\BaseHtml
csrfMetaTags() CSRF トークン情報を含むメタタグを生成します。 yii\helpers\BaseHtml
cssFile() 外部 CSS ファイルを参照する link タグを生成します。 yii\helpers\BaseHtml
cssStyleFromArray() CSS スタイル配列を文字列形式に変換します。 yii\helpers\BaseHtml
cssStyleToArray() CSS スタイル文字列を配列形式に変換します。 yii\helpers\BaseHtml
decode() 特殊な HTML エンティティを対応する文字にデコードします。 yii\helpers\BaseHtml
encode() 特殊文字を HTML エンティティにエンコードします。 yii\helpers\BaseHtml
endForm() フォーム終了タグを生成します。 yii\helpers\BaseHtml
endTag() 終了タグを生成します。 yii\helpers\BaseHtml
error() 指定されたモデル属性の最初の検証エラーを含むタグを生成します。 yii\helpers\BaseHtml
errorSummary() 検証エラーの概要を生成します。 yii\helpers\BaseHtml
escapeJsRegularExpression() JavaScript で使用するために正規表現をエスケープします。 yii\helpers\BaseHtml
fileInput() ファイル入力フィールドを生成します。 yii\helpers\BaseHtml
getAttributeName() 指定された属性式から実際の属性名を返します。 yii\helpers\BaseHtml
getAttributeValue() 指定された属性名または式の値を返します。 yii\helpers\BaseHtml
getInputId() 指定された属性名または式の適切な入力 ID を生成します。 yii\helpers\BaseHtml
getInputIdByName() 入力名を ID に変換します。 yii\helpers\BaseHtml
getInputName() 指定された属性名または式の適切な入力名を生成します。 yii\helpers\BaseHtml
hiddenInput() 隠し入力フィールドを生成します。 yii\helpers\BaseHtml
img() 画像タグを生成します。 yii\helpers\BaseHtml
input() 指定されたタイプの入力タイプを生成します。 yii\helpers\BaseHtml
jsFile() 外部 JavaScript ファイルを参照する script タグを生成します。 yii\helpers\BaseHtml
label() ラベルタグを生成します。 yii\helpers\BaseHtml
listBox() リストボックスを生成します。 yii\helpers\BaseHtml
mailto() mailto ハイパーリンクを生成します。 yii\helpers\BaseHtml
ol() 順序付きリストを生成します。 yii\helpers\BaseHtml
passwordInput() パスワード入力フィールドを生成します。 yii\helpers\BaseHtml
radio() ラジオボタン入力を生成します。 yii\helpers\BaseHtml
radioList() ラジオボタンのリストを生成します。 yii\helpers\BaseHtml
removeCssClass() 指定されたオプションから CSS クラスを削除します。 yii\helpers\BaseHtml
removeCssStyle() HTML オプションから指定された CSS スタイルを削除します。 yii\helpers\BaseHtml
renderSelectOptions() dropDownList() および listBox() で使用できる option タグをレンダリングします。 yii\helpers\BaseHtml
renderTagAttributes() HTML タグ属性をレンダリングします。 yii\helpers\BaseHtml
resetButton() リセットボタンタグを生成します。 yii\helpers\BaseHtml
resetInput() リセット入力ボタンを生成します。 yii\helpers\BaseHtml
script() script タグを生成します。 yii\helpers\BaseHtml
style() style タグを生成します。 yii\helpers\BaseHtml
submitButton() 送信ボタンタグを生成します。 yii\helpers\BaseHtml
submitInput() 送信入力ボタンを生成します。 yii\helpers\BaseHtml
tag() 完全な HTML タグを生成します。 yii\helpers\BaseHtml
textInput() テキスト入力フィールドを生成します。 yii\helpers\BaseHtml
textarea() テキストエリア入力を生成します。 yii\helpers\BaseHtml
ul() 順序なしリストを生成します。 yii\helpers\BaseHtml

保護されたメソッド

継承されたメソッドを非表示にする

メソッド 説明 定義元
activeBooleanInput() ブール値入力を生成します。このメソッドは、主に activeCheckbox() および activeRadio() によって呼び出されます。 yii\helpers\BaseHtml
activeListInput() 入力フィールドのリストを生成します。 yii\helpers\BaseHtml
booleanInput() ブール値入力を生成します。 yii\helpers\BaseHtml
setActivePlaceholder() モデル属性のラベルからプレースホルダーを生成します。 yii\helpers\BaseHtml

メソッド詳細

継承されたメソッドを非表示にする

a() public static メソッド

定義元: yii\helpers\BaseHtml::a()

ハイパーリンクタグを生成します。

yii\helpers\Url::to() も参照してください。

public static string a ( $text, $url null, $options = [] )
$text 文字列

リンクの本文。HTMLエンコードはされません。したがって、画像タグのようなHTMLコードを渡すことができます。エンドユーザーからの入力である場合は、XSS攻撃を防ぐためにencode()することを検討してください。

$url 配列|文字列|null

ハイパーリンクタグのURL。このパラメータはyii\helpers\Url::to()によって処理され、タグの "href" 属性に使用されます。このパラメータがnullの場合、"href" 属性は生成されません。

絶対URLを使用したい場合は、このメソッドにURLを渡す前に、次のようにyii\helpers\Url::to()を自分で呼び出すことができます。

Html::a('link text', Url::to($url, true))
$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたハイパーリンク

                public static function a($text, $url = null, $options = [])
{
    if ($url !== null) {
        $options['href'] = Url::to($url);
    }
    return static::tag('a', $text, $options);
}

            
activeBooleanInput() protected static メソッド (バージョン 2.0.9 以降)

定義元: yii\helpers\BaseHtml::activeBooleanInput()

ブール値入力を生成します。このメソッドは、主に activeCheckbox() および activeRadio() によって呼び出されます。

protected static string activeBooleanInput ( $type, $model, $attribute, $options = [] )
$type 文字列

入力タイプ。これは、radio または checkbox のいずれかです。

$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアによるタグのオプション。受け入れられる属性の詳細については、booleanInput()を参照してください。

return 文字列

生成された入力要素

                protected static function activeBooleanInput($type, $model, $attribute, $options = [])
{
    $name = isset($options['name']) ? $options['name'] : static::getInputName($model, $attribute);
    $value = static::getAttributeValue($model, $attribute);
    if (!array_key_exists('value', $options)) {
        $options['value'] = '1';
    }
    if (!array_key_exists('uncheck', $options)) {
        $options['uncheck'] = '0';
    } elseif ($options['uncheck'] === false) {
        unset($options['uncheck']);
    }
    if (!array_key_exists('label', $options)) {
        $options['label'] = static::encode($model->getAttributeLabel(static::getAttributeName($attribute)));
    } elseif ($options['label'] === false) {
        unset($options['label']);
    }
    $checked = "$value" === "{$options['value']}";
    if (!array_key_exists('id', $options)) {
        $options['id'] = static::getInputId($model, $attribute);
    }
    return static::$type($name, $checked, $options);
}

            
activeCheckbox() public static メソッド

定義元: yii\helpers\BaseHtml::activeCheckbox()

指定されたモデル属性のラベルとともにチェックボックスのタグを生成します。

このメソッドは、モデル属性の値に従って "checked" タグ属性を生成します。

public static string activeCheckbox ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアによるタグのオプション。受け入れられる属性の詳細については、booleanInput()を参照してください。

return 文字列

生成されたチェックボックスタグ

                public static function activeCheckbox($model, $attribute, $options = [])
{
    return static::activeBooleanInput('checkbox', $model, $attribute, $options);
}

            
activeCheckboxList() public static メソッド

定義元: yii\helpers\BaseHtml::activeCheckboxList()

チェックボックスのリストを生成します。

チェックボックスリストでは、listBox()のように複数の選択が可能です。その結果、対応する送信値は配列になります。チェックボックスリストの選択は、モデル属性の値から取得されます。

public static string activeCheckboxList ( $model, $attribute, $items, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$items 配列

チェックボックスの生成に使用されるデータ項目。配列のキーはチェックボックスの値で、配列の値は対応するラベルです。

$options 配列

チェックボックスリストのコンテナタグのオプション(name => config)。次のオプションは特別に処理されます。

  • tag: string|false, コンテナ要素のタグ名。コンテナなしでチェックボックスをレンダリングする場合はfalse。 tag()も参照してください。
  • unselect: string, チェックボックスが選択されていない場合に送信される値。このオプションを null に設定して、デフォルト値の送信を防止できます。このオプションが設定されていない場合、空の文字列が送信されます。
  • encode: boolean, チェックボックスのラベルをHTMLエンコードするかどうか。デフォルトはtrueです。itemオプションが設定されている場合は無視されます。
  • separator: string, 項目を区切るHTMLコード。
  • itemOptions: array, checkbox()を使用してチェックボックスタグを生成するためのオプション。
  • item: callable, $items内の単一の項目に対応するHTMLコードの生成をカスタマイズするために使用できるコールバック。このコールバックの署名は次のとおりです。

    function ($index, $label, $name, $checked, $value)
    

    $indexはリスト全体のチェックボックスのゼロベースのインデックスです。$labelはチェックボックスのラベルです。$name、$value、および$checkedは、チェックボックス入力の名前、値、およびチェック状態を表します。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたチェックボックスリスト

                public static function activeCheckboxList($model, $attribute, $items, $options = [])
{
    return static::activeListInput('checkboxList', $model, $attribute, $items, $options);
}

            
activeDropDownList() public static メソッド

定義元: yii\helpers\BaseHtml::activeDropDownList()

指定されたモデル属性のドロップダウンリストを生成します。

ドロップダウンリストの選択は、モデル属性の値から取得されます。

public static string activeDropDownList ( $model, $attribute, $items, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$items 配列

オプションのデータ項目。配列のキーはオプションの値で、配列の値は対応するオプションのラベルです。配列をネストすることもできます(つまり、一部の配列値も配列です)。サブ配列ごとに、ラベルがサブ配列に関連付けられたキーであるオプショングループが生成されます。データモデルのリストがある場合は、yii\helpers\ArrayHelper::map()を使用して、上記の形式に変換できます。

注:値とラベルは、このメソッドによって自動的にHTMLエンコードされ、ラベル内の空白もHTMLエンコードされます。

$options 配列

名前と値のペアによるタグのオプション。次のオプションは特別に処理されます。

  • prompt: string, 最初のオプションとして表示されるプロンプトテキスト。バージョン2.0.11以降では、配列を使用して値を上書きしたり、他のタグ属性を設定したりできます。

    ['text' => 'Please select', 'options' => ['value' => 'none', 'class' => 'prompt', 'label' => 'Select']],
    
  • options: array, selectオプションタグの属性。配列のキーは有効なオプション値である必要があり、配列の値は対応するオプションタグの追加属性です。例:

    [
        'value1' => ['disabled' => true],
        'value2' => ['label' => 'value 2'],
    ];
    
  • groups: array, optgroupタグの属性。これの構造は 'options' の構造に似ていますが、配列キーは $items で指定されたoptgroupラベルを表す点が異なります。
  • encodeSpaces: bool, オプションのプロンプトとオプションの値の空白を 文字でエンコードするかどうか。デフォルトはfalseです。
  • encode: bool, オプションのプロンプトとオプションの値の文字をエンコードするかどうか。デフォルトはtrueです。このオプションは2.0.3以降で利用可能です。

残りのオプションは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたドロップダウンリストタグ

                public static function activeDropDownList($model, $attribute, $items, $options = [])
{
    if (empty($options['multiple'])) {
        return static::activeListInput('dropDownList', $model, $attribute, $items, $options);
    }
    return static::activeListBox($model, $attribute, $items, $options);
}

            
activeFileInput() public static メソッド

定義元: yii\helpers\BaseHtml::activeFileInput()

指定されたモデル属性のファイル入力タグを生成します。

このメソッドは、$optionsで明示的に指定されていない限り、モデル属性の "name" および "value" タグ属性を自動的に生成します。さらに、$options内にhiddenOptionsというキーを持つ別のHTMLオプション配列が定義されている場合、それは自身の$optionsパラメーターとしてactiveHiddenInputフィールドに渡されます。

public static string activeFileInput ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。属性のレンダリング方法の詳細については、renderTagAttributes() を参照してください。別のHTMLオプション配列であるhiddenOptions パラメータが定義されている場合、それは$options から抽出され、隠し入力に使用されます。

return 文字列

生成された入力タグ

                public static function activeFileInput($model, $attribute, $options = [])
{
    $hiddenOptions = ['id' => null, 'value' => ''];
    if (isset($options['name'])) {
        $hiddenOptions['name'] = $options['name'];
    }
    // make sure disabled input is not sending any value
    if (!empty($options['disabled'])) {
        $hiddenOptions['disabled'] = $options['disabled'];
    }
    $hiddenOptions = ArrayHelper::merge($hiddenOptions, ArrayHelper::remove($options, 'hiddenOptions', []));
    // Add a hidden field so that if a model only has a file field, we can
    // still use isset($_POST[$modelClass]) to detect if the input is submitted.
    // The hidden input will be assigned its own set of html options via `$hiddenOptions`.
    // This provides the possibility to interact with the hidden field via client script.
    // Note: For file-field-only model with `disabled` option set to `true` input submitting detection won't work.
    return static::activeHiddenInput($model, $attribute, $hiddenOptions)
        . static::activeInput('file', $model, $attribute, $options);
}

            
activeHiddenInput() public static メソッド

定義元: yii\helpers\BaseHtml::activeHiddenInput()

指定されたモデル属性の隠し入力タグを生成します。

このメソッドは、$options で明示的に指定されていない限り、モデル属性の "name" および "value" タグ属性を自動的に生成します。

public static string activeHiddenInput ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。属性のレンダリング方法の詳細については、renderTagAttributes() を参照してください。

return 文字列

生成された入力タグ

                public static function activeHiddenInput($model, $attribute, $options = [])
{
    return static::activeInput('hidden', $model, $attribute, $options);
}

            
activeHint() public static メソッド (バージョン2.0.4から利用可能)

定義元: yii\helpers\BaseHtml::activeHint()

指定されたモデル属性のヒントタグを生成します。

ヒントテキストは、yii\base\Model::getAttributeHint() を介して取得される、属性に関連付けられたヒントです。ヒントの内容を取得できない場合、メソッドは空の文字列を返します。

public static string activeHint ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。以下のオプションは特別に処理されます。

  • hint: 表示するヒントを指定します。これはエンコードされないことに注意してください。これが設定されていない場合、yii\base\Model::getAttributeHint() が呼び出され、表示用のヒントを取得します(エンコードなし)。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたヒントタグ

                public static function activeHint($model, $attribute, $options = [])
{
    $attribute = static::getAttributeName($attribute);
    $hint = isset($options['hint']) ? $options['hint'] : $model->getAttributeHint($attribute);
    if (empty($hint)) {
        return '';
    }
    $tag = ArrayHelper::remove($options, 'tag', 'div');
    unset($options['hint']);
    return static::tag($tag, $hint, $options);
}

            
activeInput() public static メソッド

定義元: yii\helpers\BaseHtml::activeInput()

指定されたモデル属性の入力タグを生成します。

このメソッドは、$options で明示的に指定されていない限り、モデル属性の "name" および "value" タグ属性を自動的に生成します。

public static string activeInput ( $type, $model, $attribute, $options = [] )
$type 文字列

入力タイプ (例: 'text', 'password')

$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。属性のレンダリング方法の詳細については、renderTagAttributes() を参照してください。

return 文字列

生成された入力タグ

                public static function activeInput($type, $model, $attribute, $options = [])
{
    $name = isset($options['name']) ? $options['name'] : static::getInputName($model, $attribute);
    $value = isset($options['value']) ? $options['value'] : static::getAttributeValue($model, $attribute);
    if (!array_key_exists('id', $options)) {
        $options['id'] = static::getInputId($model, $attribute);
    }
    static::setActivePlaceholder($model, $attribute, $options);
    self::normalizeMaxLength($model, $attribute, $options);
    return static::input($type, $name, $value, $options);
}

            
activeLabel() public static メソッド

定義元: yii\helpers\BaseHtml::activeLabel()

指定されたモデル属性のラベルタグを生成します。

ラベルテキストは、yii\base\Model::getAttributeLabel() を介して取得される、属性に関連付けられたラベルです。

public static string activeLabel ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。以下のオプションは特別に処理されます。

  • label: 表示するラベルを指定します。これはエンコードされないことに注意してください。これが設定されていない場合、yii\base\Model::getAttributeLabel() が呼び出され、表示用のラベルを取得します(エンコード後)。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたラベルタグ

                public static function activeLabel($model, $attribute, $options = [])
{
    $for = ArrayHelper::remove($options, 'for', static::getInputId($model, $attribute));
    $attribute = static::getAttributeName($attribute);
    $label = ArrayHelper::remove($options, 'label', static::encode($model->getAttributeLabel($attribute)));
    return static::label($label, $for, $options);
}

            
activeListBox() public static メソッド

定義元: yii\helpers\BaseHtml::activeListBox()

リストボックスを生成します。

リストボックスの選択は、モデル属性の値から取得されます。

public static string activeListBox ( $model, $attribute, $items, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$items 配列

オプションのデータ項目。配列のキーはオプションの値で、配列の値は対応するオプションのラベルです。配列をネストすることもできます(つまり、一部の配列値も配列です)。サブ配列ごとに、ラベルがサブ配列に関連付けられたキーであるオプショングループが生成されます。データモデルのリストがある場合は、yii\helpers\ArrayHelper::map()を使用して、上記の形式に変換できます。

注:値とラベルは、このメソッドによって自動的にHTMLエンコードされ、ラベル内の空白もHTMLエンコードされます。

$options 配列

名前と値のペアによるタグのオプション。次のオプションは特別に処理されます。

  • prompt: string, 最初のオプションとして表示されるプロンプトテキスト。バージョン2.0.11以降では、配列を使用して値を上書きしたり、他のタグ属性を設定したりできます。

    ['text' => 'Please select', 'options' => ['value' => 'none', 'class' => 'prompt', 'label' => 'Select']],
    
  • options: array, selectオプションタグの属性。配列のキーは有効なオプション値である必要があり、配列の値は対応するオプションタグの追加属性です。例:

    [
        'value1' => ['disabled' => true],
        'value2' => ['label' => 'value 2'],
    ];
    
  • groups: array, optgroupタグの属性。これの構造は 'options' の構造に似ていますが、配列キーは $items で指定されたoptgroupラベルを表す点が異なります。
  • unselect: string、オプションが選択されていない場合に送信される値。この属性が設定されている場合、複数モードでオプションが選択されていない場合でも、投稿された未選択の値を取得できるように、隠しフィールドが生成されます。
  • encodeSpaces: bool, オプションのプロンプトとオプションの値の空白を 文字でエンコードするかどうか。デフォルトはfalseです。
  • encode: bool, オプションのプロンプトとオプションの値の文字をエンコードするかどうか。デフォルトはtrueです。このオプションは2.0.3以降で利用可能です。

残りのオプションは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたリストボックスのタグ

                public static function activeListBox($model, $attribute, $items, $options = [])
{
    return static::activeListInput('listBox', $model, $attribute, $items, $options);
}

            
activeListInput() protected static メソッド

定義元: yii\helpers\BaseHtml::activeListInput()

入力フィールドのリストを生成します。

このメソッドは、主にactiveListBox()activeRadioList()、およびactiveCheckboxList() によって呼び出されます。

protected static string activeListInput ( $type, $model, $attribute, $items, $options = [] )
$type 文字列

入力タイプ。これは、'listBox'、'radioList'、または'checkBoxList'のいずれかになります。

$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$items 配列

入力フィールドの生成に使用されるデータ項目。配列キーは入力値であり、配列の値は対応するラベルです。

$options 配列

入力リストのオプション(name => config)。サポートされる特別なオプションは、$type で指定された入力タイプによって異なります。

return 文字列

生成された入力リスト

                protected static function activeListInput($type, $model, $attribute, $items, $options = [])
{
    $name = ArrayHelper::remove($options, 'name', static::getInputName($model, $attribute));
    $selection = ArrayHelper::remove($options, 'value', static::getAttributeValue($model, $attribute));
    if (!array_key_exists('unselect', $options)) {
        $options['unselect'] = '';
    }
    if (!array_key_exists('id', $options)) {
        $options['id'] = static::getInputId($model, $attribute);
    }
    return static::$type($name, $selection, $items, $options);
}

            
activePasswordInput() public static メソッド

定義元: yii\helpers\BaseHtml::activePasswordInput()

指定されたモデル属性のパスワード入力タグを生成します。

このメソッドは、$options で明示的に指定されていない限り、モデル属性の "name" および "value" タグ属性を自動的に生成します。

public static string activePasswordInput ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。属性のレンダリング方法の詳細については、renderTagAttributes() を参照してください。次の特別なオプションが認識されます。

  • maxlength: integer|boolean、maxlength が true に設定され、モデル属性が文字列バリデーターによって検証される場合、maxlength オプションは yii\validators\StringValidator::$max および [[\yii\validators\StringValidator::length] の最大値を取ります。これはバージョン 2.0.6 から利用可能であり、バージョン 2.0.42 以降、length を考慮して改善されました。
  • placeholder: string|boolean、placeholdertrue の場合、モデルの属性ラベルがプレースホルダーとして使用されます(この動作はバージョン2.0.14から利用可能です)。
return 文字列

生成された入力タグ

                public static function activePasswordInput($model, $attribute, $options = [])
{
    return static::activeInput('password', $model, $attribute, $options);
}

            
activeRadio() public static メソッド

定義元: yii\helpers\BaseHtml::activeRadio()

指定されたモデル属性のラベルとともにラジオボタンタグを生成します。

このメソッドは、モデル属性の値に従って "checked" タグ属性を生成します。

public static string activeRadio ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアによるタグのオプション。受け入れられる属性の詳細については、booleanInput()を参照してください。

return 文字列

生成されたラジオボタンのタグ

                public static function activeRadio($model, $attribute, $options = [])
{
    return static::activeBooleanInput('radio', $model, $attribute, $options);
}

            
activeRadioList() public static メソッド

定義場所: yii\helpers\BaseHtml::activeRadioList()

ラジオボタンのリストを生成します。

ラジオボタンリストは、チェックボックスリストに似ていますが、単一選択のみが許可されます。ラジオボタンの選択は、モデル属性の値から取得されます。

public static string activeRadioList ( $model, $attribute, $items, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$items 配列

ラジオボタンの生成に使用されるデータ項目。配列のキーはラジオの値、配列の値は対応するラベルです。

$options 配列

ラジオボタンリストのコンテナタグのオプション (name => config)。以下のオプションは特別に処理されます

  • tag: string|false, コンテナ要素のタグ名。コンテナなしでラジオボタンをレンダリングする場合は false。 tag()も参照してください。
  • unselect: string, ラジオボタンが選択されていないときに送信される値。デフォルト値の送信を防ぐには、このオプションを null に設定できます。このオプションが設定されていない場合は、空の文字列が送信されます。
  • encode: boolean, チェックボックスのラベルをHTMLエンコードするかどうか。デフォルトはtrueです。itemオプションが設定されている場合は無視されます。
  • separator: string, 項目を区切るHTMLコード。
  • itemOptions: array, radio()を使用してラジオボタンタグを生成するためのオプション。
  • item: callable, $items内の単一の項目に対応するHTMLコードの生成をカスタマイズするために使用できるコールバック。このコールバックの署名は次のとおりです。

    function ($index, $label, $name, $checked, $value)
    

    ここで、$index はリスト全体におけるラジオボタンのゼロベースのインデックス、$label はラジオボタンのラベル、$name、$value および $checked は、ラジオボタン入力の名前、値、およびチェック状態を表します。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたラジオボタンリスト

                public static function activeRadioList($model, $attribute, $items, $options = [])
{
    return static::activeListInput('radioList', $model, $attribute, $items, $options);
}

            
activeTextInput() public static メソッド

定義場所: yii\helpers\BaseHtml::activeTextInput()

指定されたモデル属性のテキスト入力タグを生成します。

このメソッドは、$options で明示的に指定されていない限り、モデル属性の "name" および "value" タグ属性を自動的に生成します。

public static string activeTextInput ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。属性のレンダリング方法の詳細については、renderTagAttributes() を参照してください。次の特別なオプションが認識されます。

  • maxlength: integer|boolean, maxlength が true に設定され、モデル属性が文字列バリデーターによって検証される場合、maxlength オプションは yii\validators\StringValidator::$max と [[\yii\validators\StringValidator::length] の最大値を取得します。これはバージョン 2.0.3 から利用可能であり、バージョン 2.0.42 から length を考慮するように改善されました。
  • placeholder: string|boolean、placeholdertrue の場合、モデルの属性ラベルがプレースホルダーとして使用されます(この動作はバージョン2.0.14から利用可能です)。
return 文字列

生成された入力タグ

                public static function activeTextInput($model, $attribute, $options = [])
{
    return static::activeInput('text', $model, $attribute, $options);
}

            
activeTextarea() public static メソッド

定義場所: yii\helpers\BaseHtml::activeTextarea()

指定されたモデル属性のテキストエリアタグを生成します。

モデル属性の値が、テキストエリアの内容として使用されます。

public static string activeTextarea ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで指定するタグのオプションです。これらは、結果として生成されるタグの属性としてレンダリングされます。値は、encode() を使用してHTMLエンコードされます。属性のレンダリング方法の詳細については、renderTagAttributes() を参照してください。次の特別なオプションが認識されます。

  • maxlength: integer|boolean、maxlength が true に設定され、モデル属性が文字列バリデーターによって検証される場合、maxlength オプションは yii\validators\StringValidator::$max および [[\yii\validators\StringValidator::length] の最大値を取ります。これはバージョン 2.0.6 から利用可能であり、バージョン 2.0.42 以降、length を考慮して改善されました。
  • placeholder: string|boolean、placeholdertrue の場合、モデルの属性ラベルがプレースホルダーとして使用されます(この動作はバージョン2.0.14から利用可能です)。
return 文字列

生成されたテキストエリアタグ

                public static function activeTextarea($model, $attribute, $options = [])
{
    $name = isset($options['name']) ? $options['name'] : static::getInputName($model, $attribute);
    if (isset($options['value'])) {
        $value = $options['value'];
        unset($options['value']);
    } else {
        $value = static::getAttributeValue($model, $attribute);
    }
    if (!array_key_exists('id', $options)) {
        $options['id'] = static::getInputId($model, $attribute);
    }
    self::normalizeMaxLength($model, $attribute, $options);
    static::setActivePlaceholder($model, $attribute, $options);
    return static::textarea($name, $value, $options);
}

            
addCssClass() public static メソッド

定義場所: yii\helpers\BaseHtml::addCssClass()

指定されたオプションに CSS クラス(または複数のクラス)を追加します。

CSSクラスがオプションに既に存在する場合、再度追加されることはありません。指定されたオプションでのクラス指定が配列であり、名前付き (文字列) キーを持つクラスが配置されている場合、そのようなキーの上書きは効果がありません。例えば

$options = ['class' => ['persistent' => 'initial']];
Html::addCssClass($options, ['persistent' => 'override']);
var_dump($options['class']); // outputs: array('persistent' => 'initial');

removeCssClass() も参照してください。

public static void addCssClass ( &$options, $class )
$options 配列

変更されるオプション。

$class string|array

追加されるCSSクラス。

                public static function addCssClass(&$options, $class)
{
    if (isset($options['class'])) {
        if (is_array($options['class'])) {
            $options['class'] = self::mergeCssClasses($options['class'], (array) $class);
        } else {
            $classes = preg_split('/\s+/', $options['class'], -1, PREG_SPLIT_NO_EMPTY);
            $options['class'] = implode(' ', self::mergeCssClasses($classes, (array) $class));
        }
    } else {
        $options['class'] = $class;
    }
}

            
addCssStyle() public static メソッド

定義場所: yii\helpers\BaseHtml::addCssStyle()

指定された CSS スタイルを HTML オプションに追加します。

オプションに style 要素が既に含まれている場合、新しいスタイルは既存のスタイルとマージされます。新しいスタイルと古いスタイルの両方にCSSプロパティが存在する場合、$overwrite が true であれば、古いスタイルが上書きされる可能性があります。

例:

Html::addCssStyle($options, 'width: 100px; height: 200px');

こちらも参照してください

public static void addCssStyle ( &$options, $style, $overwrite true )
$options 配列

変更されるHTMLオプション。

$style string|array

新しいスタイル文字列 (例: 'width: 100px; height: 200px') または配列 (例: ['width' => '100px', 'height' => '200px'])。

$overwrite ブール値

新しいスタイルにも既存のCSSプロパティが含まれている場合、上書きするかどうか。

                public static function addCssStyle(&$options, $style, $overwrite = true)
{
    if (!empty($options['style'])) {
        $oldStyle = is_array($options['style']) ? $options['style'] : static::cssStyleToArray($options['style']);
        $newStyle = is_array($style) ? $style : static::cssStyleToArray($style);
        if (!$overwrite) {
            foreach ($newStyle as $property => $value) {
                if (isset($oldStyle[$property])) {
                    unset($newStyle[$property]);
                }
            }
        }
        $style = array_merge($oldStyle, $newStyle);
    }
    $options['style'] = is_array($style) ? static::cssStyleFromArray($style) : $style;
}

            
beginForm() public static メソッド

定義場所: yii\helpers\BaseHtml::beginForm()

フォーム開始タグを生成します。

endForm()も参照してください。

public static string beginForm ( $action '', $method 'post', $options = [] )
$action array|string

フォームアクションURL。このパラメーターは、yii\helpers\Url::to()によって処理されます。

$method 文字列

フォームの送信メソッド。"post"、"get"、"put"、"delete" (大文字と小文字を区別しない) など。ほとんどのブラウザーは "post" と "get" のみをサポートするため、他のメソッドが指定された場合は、"post" を使用してシミュレートされ、実際のメソッドタイプを含む隠し入力が追加されます。詳細については、yii\web\Request::$methodParamを参照してください。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

特別なオプション

  • csrf: CSRF隠し入力を生成するかどうか。デフォルトはtrueです。
return 文字列

生成されたフォーム開始タグ。

                public static function beginForm($action = '', $method = 'post', $options = [])
{
    $action = Url::to($action);
    $hiddenInputs = [];
    $request = Yii::$app->getRequest();
    if ($request instanceof Request) {
        if (strcasecmp($method, 'get') && strcasecmp($method, 'post')) {
            // simulate PUT, DELETE, etc. via POST
            $hiddenInputs[] = static::hiddenInput($request->methodParam, $method);
            $method = 'post';
        }
        $csrf = ArrayHelper::remove($options, 'csrf', true);
        if ($csrf && $request->enableCsrfValidation && strcasecmp($method, 'post') === 0) {
            $hiddenInputs[] = static::hiddenInput($request->csrfParam, $request->getCsrfToken());
        }
    }
    if (!strcasecmp($method, 'get') && ($pos = strpos($action, '?')) !== false) {
        // query parameters in the action are ignored for GET method
        // we use hidden fields to add them back
        foreach (explode('&', substr($action, $pos + 1)) as $pair) {
            if (($pos1 = strpos($pair, '=')) !== false) {
                $hiddenInputs[] = static::hiddenInput(
                    urldecode(substr($pair, 0, $pos1)),
                    urldecode(substr($pair, $pos1 + 1))
                );
            } else {
                $hiddenInputs[] = static::hiddenInput(urldecode($pair), '');
            }
        }
        $action = substr($action, 0, $pos);
    }
    $options['action'] = $action;
    $options['method'] = $method;
    $form = static::beginTag('form', $options);
    if (!empty($hiddenInputs)) {
        $form .= "\n" . implode("\n", $hiddenInputs);
    }
    return $form;
}

            
beginTag() public static メソッド

定義場所: yii\helpers\BaseHtml::beginTag()

開始タグを生成します。

こちらも参照してください

public static string beginTag ( $name, $options = [] )
$name string|boolean|null

タグ名。$name が null または false の場合、対応するコンテンツはタグなしでレンダリングされます。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された開始タグ

                public static function beginTag($name, $options = [])
{
    if ($name === null || $name === false) {
        return '';
    }
    return "<$name" . static::renderTagAttributes($options) . '>';
}

            
booleanInput() protected static メソッド (バージョン 2.0.9 以降で使用可能)

定義場所: yii\helpers\BaseHtml::booleanInput()

ブール値入力を生成します。

protected static string booleanInput ( $type, $name, $checked false, $options = [] )
$type 文字列

入力タイプ。これは、radio または checkbox のいずれかです。

$name 文字列

name属性。

$checked ブール値

チェックボックスをオンにするかどうか。

$options 配列

名前と値のペアによるタグのオプション。次のオプションは特別に処理されます。

  • uncheck: string, チェックボックスが未チェック状態の場合に、その状態に関連付けられる値です。この属性が存在する場合、チェックボックスがチェックされておらず、送信された場合でも、この属性の値が隠し入力によってサーバーに送信されるように、隠し入力が生成されます。
  • label: string, チェックボックスの横に表示されるラベルです。HTMLエンコードはされません。したがって、画像タグなどのHTMLコードを渡すことができます。エンドユーザーから入力される場合は、XSS攻撃を防ぐためにencode()でエンコードする必要があります。このオプションが指定された場合、チェックボックスはlabelタグで囲まれます。
  • labelOptions: array, labelタグのHTML属性です。"label"オプションを設定した場合にのみ、このオプションを設定してください。

残りのオプションは、結果のチェックボックスタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたチェックボックスタグ

                protected static function booleanInput($type, $name, $checked = false, $options = [])
{
    // 'checked' option has priority over $checked argument
    if (!isset($options['checked'])) {
        $options['checked'] = (bool) $checked;
    }
    $value = array_key_exists('value', $options) ? $options['value'] : '1';
    if (isset($options['uncheck'])) {
        // add a hidden field so that if the checkbox is not selected, it still submits a value
        $hiddenOptions = [];
        if (isset($options['form'])) {
            $hiddenOptions['form'] = $options['form'];
        }
        // make sure disabled input is not sending any value
        if (!empty($options['disabled'])) {
            $hiddenOptions['disabled'] = $options['disabled'];
        }
        $hidden = static::hiddenInput($name, $options['uncheck'], $hiddenOptions);
        unset($options['uncheck']);
    } else {
        $hidden = '';
    }
    if (isset($options['label'])) {
        $label = $options['label'];
        $labelOptions = isset($options['labelOptions']) ? $options['labelOptions'] : [];
        unset($options['label'], $options['labelOptions']);
        $content = static::label(static::input($type, $name, $value, $options) . ' ' . $label, null, $labelOptions);
        return $hidden . $content;
    }
    return $hidden . static::input($type, $name, $value, $options);
}

            
button() public static method

定義元: yii\helpers\BaseHtml::button()

ボタンタグを生成します。

public static string button ( $content 'Button', $options = [] )
$content 文字列

ボタンタグ内に囲まれたコンテンツです。HTMLエンコードはされません。したがって、画像タグなどのHTMLコードを渡すことができます。エンドユーザーから入力される場合は、XSS攻撃を防ぐためにencode()を検討する必要があります。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたボタンタグ

                public static function button($content = 'Button', $options = [])
{
    if (!isset($options['type'])) {
        $options['type'] = 'button';
    }
    return static::tag('button', $content, $options);
}

            
buttonInput() public static method

定義元: yii\helpers\BaseHtml::buttonInput()

入力ボタンを生成します。

public static string buttonInput ( $label 'Button', $options = [] )
$label string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたボタンタグ

                public static function buttonInput($label = 'Button', $options = [])
{
    $options['type'] = 'button';
    $options['value'] = $label;
    return static::tag('input', '', $options);
}

            
checkbox() public static method

定義元: yii\helpers\BaseHtml::checkbox()

チェックボックス入力を生成します。

public static string checkbox ( $name, $checked false, $options = [] )
$name 文字列

name属性。

$checked ブール値

チェックボックスをオンにするかどうか。

$options 配列

名前と値のペアによるタグのオプション。受け入れられる属性の詳細については、booleanInput()を参照してください。

return 文字列

生成されたチェックボックスタグ

                public static function checkbox($name, $checked = false, $options = [])
{
    return static::booleanInput('checkbox', $name, $checked, $options);
}

            
checkboxList() public static method

定義元: yii\helpers\BaseHtml::checkboxList()

チェックボックスのリストを生成します。

チェックボックスリストでは、listBox()のように、複数の選択が可能です。結果として、対応する送信値は配列になります。

public static string checkboxList ( $name, $selection null, $items = [], $options = [] )
$name 文字列

各チェックボックスのname属性です。

$selection string|array|null

選択された値です。単一選択の場合は文字列、複数選択の場合は配列です。

$items 配列

チェックボックスの生成に使用されるデータ項目です。配列キーはチェックボックスの値であり、配列値は対応するラベルです。

$options 配列

チェックボックスリストのコンテナタグのオプション(name => config)。次のオプションは特別に処理されます。

  • tag: string|false, コンテナ要素のタグ名。コンテナなしでチェックボックスをレンダリングする場合はfalse。 tag()も参照してください。
  • unselect: string, チェックボックスが1つも選択されていない場合に送信される値です。このオプションを設定すると、隠し入力が生成されます。
  • disabled: boolean, unselectオプションで生成された隠し入力を無効にするかどうか。デフォルトはfalseです。このオプションはバージョン2.0.16以降で使用可能です。
  • encode: boolean, チェックボックスのラベルをHTMLエンコードするかどうか。デフォルトはtrueです。itemオプションが設定されている場合は無視されます。
  • strict: boolean, $selectionが配列で、この値がtrueの場合、$itemsキーに対して厳密な比較が実行されます。デフォルトはfalseです。このオプションは2.0.37以降で使用可能です。
  • separator: string, 項目を区切るHTMLコード。
  • itemOptions: array, checkbox()を使用してチェックボックスタグを生成するためのオプション。
  • item: callable, $items内の単一の項目に対応するHTMLコードの生成をカスタマイズするために使用できるコールバック。このコールバックの署名は次のとおりです。

    function ($index, $label, $name, $checked, $value)
    

    ここで、$indexはリスト全体のチェックボックスのゼロベースインデックスです。$labelはチェックボックスのラベルです。また、$name、$value、$checkedはそれぞれチェックボックス入力の名前、値、チェックされた状態を表します。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたチェックボックスリスト

                public static function checkboxList($name, $selection = null, $items = [], $options = [])
{
    if (substr($name, -2) !== '[]') {
        $name .= '[]';
    }
    if (ArrayHelper::isTraversable($selection)) {
        $selection = array_map('strval', ArrayHelper::toArray($selection));
    }
    $formatter = ArrayHelper::remove($options, 'item');
    $itemOptions = ArrayHelper::remove($options, 'itemOptions', []);
    $encode = ArrayHelper::remove($options, 'encode', true);
    $separator = ArrayHelper::remove($options, 'separator', "\n");
    $tag = ArrayHelper::remove($options, 'tag', 'div');
    $strict = ArrayHelper::remove($options, 'strict', false);
    $lines = [];
    $index = 0;
    foreach ($items as $value => $label) {
        $checked = $selection !== null &&
            (!ArrayHelper::isTraversable($selection) && !strcmp($value, $selection)
                || ArrayHelper::isTraversable($selection) && ArrayHelper::isIn((string)$value, $selection, $strict));
        if ($formatter !== null) {
            $lines[] = call_user_func($formatter, $index, $label, $name, $checked, $value);
        } else {
            $lines[] = static::checkbox($name, $checked, array_merge([
                'value' => $value,
                'label' => $encode ? static::encode($label) : $label,
            ], $itemOptions));
        }
        $index++;
    }
    if (isset($options['unselect'])) {
        // add a hidden field so that if the list box has no option being selected, it still submits a value
        $name2 = substr($name, -2) === '[]' ? substr($name, 0, -2) : $name;
        $hiddenOptions = [];
        // make sure disabled input is not sending any value
        if (!empty($options['disabled'])) {
            $hiddenOptions['disabled'] = $options['disabled'];
        }
        $hidden = static::hiddenInput($name2, $options['unselect'], $hiddenOptions);
        unset($options['unselect'], $options['disabled']);
    } else {
        $hidden = '';
    }
    $visibleContent = implode($separator, $lines);
    if ($tag === false) {
        return $hidden . $visibleContent;
    }
    return $hidden . static::tag($tag, $visibleContent, $options);
}

            
csrfMetaTags() public static method

定義元: yii\helpers\BaseHtml::csrfMetaTags()

CSRF トークン情報を含むメタタグを生成します。

yii\web\Request::$enableCsrfValidationも参照してください。

public static string csrfMetaTags ( )
return 文字列

生成されたメタタグ

                public static function csrfMetaTags()
{
    $request = Yii::$app->getRequest();
    if ($request instanceof Request && $request->enableCsrfValidation) {
        return static::tag('meta', '', ['name' => 'csrf-param', 'content' => $request->csrfParam]) . "\n"
            . static::tag('meta', '', ['name' => 'csrf-token', 'content' => $request->getCsrfToken()]) . "\n";
    }
    return '';
}

            
cssFile() public static method

定義元: yii\helpers\BaseHtml::cssFile()

外部 CSS ファイルを参照する link タグを生成します。

yii\helpers\Url::to() も参照してください。

public static string cssFile ( $url, $options = [] )
$url array|string

外部CSSファイルのURLです。このパラメーターは、yii\helpers\Url::to()で処理されます。

$options 配列

名前と値のペアによるタグのオプション。次のオプションは特別に処理されます。

  • condition: IEの条件付きコメントを指定します。例: lt IE 9。これが指定されている場合、生成されたlinkタグは条件付きコメントで囲まれます。これは主に古いバージョンのIEブラウザーをサポートするのに役立ちます。
  • noscript: trueに設定した場合、linkタグは<noscript>タグで囲まれます。

残りのオプションは、結果のlinkタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたlinkタグ

                public static function cssFile($url, $options = [])
{
    if (!isset($options['rel'])) {
        $options['rel'] = 'stylesheet';
    }
    $options['href'] = Url::to($url);
    if (isset($options['condition'])) {
        $condition = $options['condition'];
        unset($options['condition']);
        return self::wrapIntoCondition(static::tag('link', '', $options), $condition);
    } elseif (isset($options['noscript']) && $options['noscript'] === true) {
        unset($options['noscript']);
        return '<noscript>' . static::tag('link', '', $options) . '</noscript>';
    }
    return static::tag('link', '', $options);
}

            
cssStyleFromArray() public static method

定義元: yii\helpers\BaseHtml::cssStyleFromArray()

CSS スタイル配列を文字列形式に変換します。

例:

print_r(Html::cssStyleFromArray(['width' => '100px', 'height' => '200px']));
// will display: 'width: 100px; height: 200px;'
public static string cssStyleFromArray ( array $style )
$style 配列

CSSスタイルの配列です。配列キーはCSSプロパティ名であり、配列値は対応するCSSプロパティの値です。

return 文字列

CSSスタイル文字列です。CSSスタイルが空の場合、nullが返されます。

                public static function cssStyleFromArray(array $style)
{
    $result = '';
    foreach ($style as $name => $value) {
        $result .= "$name: $value; ";
    }
    // return null if empty to avoid rendering the "style" attribute
    return $result === '' ? null : rtrim($result);
}

            
cssStyleToArray() public static method

定義元: yii\helpers\BaseHtml::cssStyleToArray()

CSS スタイル文字列を配列形式に変換します。

配列キーはCSSプロパティ名であり、配列値は対応するCSSプロパティの値です。

例:

print_r(Html::cssStyleToArray('width: 100px; height: 200px;'));
// will display: ['width' => '100px', 'height' => '200px']
public static array cssStyleToArray ( $style )
$style 文字列

CSSスタイルの文字列

return 配列

CSSスタイルの配列表現

                public static function cssStyleToArray($style)
{
    $result = [];
    foreach (explode(';', $style) as $property) {
        $property = explode(':', $property);
        if (count($property) > 1) {
            $result[trim($property[0])] = trim($property[1]);
        }
    }
    return $result;
}

            
decode() public static メソッド

定義元: yii\helpers\BaseHtml::decode()

特殊な HTML エンティティを対応する文字にデコードします。

これは encode() の逆です。

こちらも参照してください

public static string decode ( $content )
$content 文字列

デコードするコンテンツ

return 文字列

デコードされたコンテンツ

                public static function decode($content)
{
    return htmlspecialchars_decode($content, ENT_QUOTES);
}

            
encode() public static メソッド

定義元: yii\helpers\BaseHtml::encode()

特殊文字を HTML エンティティにエンコードします。

エンコードには アプリケーションの文字セット が使用されます。

こちらも参照してください

public static string encode ( $content, $doubleEncode true )
$content 文字列

エンコードするコンテンツ

$doubleEncode ブール値

$content 内の HTML エンティティをエンコードするかどうか。 false の場合、$content 内の HTML エンティティはさらにエンコードされません。

return 文字列

エンコードされたコンテンツ

                public static function encode($content, $doubleEncode = true)
{
    return htmlspecialchars((string)$content, ENT_QUOTES | ENT_SUBSTITUTE, Yii::$app ? Yii::$app->charset : 'UTF-8', $doubleEncode);
}

            
endForm() public static メソッド

定義元: yii\helpers\BaseHtml::endForm()

フォーム終了タグを生成します。

beginForm() も参照してください。

public static string endForm ( )
return 文字列

生成されたタグ

                public static function endForm()
{
    return '</form>';
}

            
endTag() public static メソッド

定義元: yii\helpers\BaseHtml::endTag()

終了タグを生成します。

こちらも参照してください

public static string endTag ( $name )
$name string|boolean|null

タグ名。$name が null または false の場合、対応するコンテンツはタグなしでレンダリングされます。

return 文字列

生成された終了タグ

                public static function endTag($name)
{
    if ($name === null || $name === false) {
        return '';
    }
    return "</$name>";
}

            
error() public static メソッド

定義元: yii\helpers\BaseHtml::error()

指定されたモデル属性の最初の検証エラーを含むタグを生成します。

バリデーションエラーがない場合でも、このメソッドは空のエラータグを返します。

public static string error ( $model, $attribute, $options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアで表されるタグオプション。値は encode() を使用して HTML エンコードされます。値が null の場合、対応する属性はレンダリングされません。

以下のオプションは特別に処理されます。

  • tag: これはタグ名を指定します。設定しない場合、"div" が使用されます。tag() も参照してください。
  • encode: boolean。false に設定した場合、エラーメッセージはエンコードされません。
  • errorSource (2.0.14 以降): \Closure|callable。エラーメッセージを取得するために呼び出されるコールバック。コールバックのシグネチャは、function ($model, $attribute) であり、文字列を返す必要があります。設定されていない場合、$model->getFirstError() メソッドが呼び出されます。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたラベルタグ

                public static function error($model, $attribute, $options = [])
{
    $attribute = static::getAttributeName($attribute);
    $errorSource = ArrayHelper::remove($options, 'errorSource');
    if ($errorSource !== null) {
        $error = call_user_func($errorSource, $model, $attribute);
    } else {
        $error = $model->getFirstError($attribute);
    }
    $tag = ArrayHelper::remove($options, 'tag', 'div');
    $encode = ArrayHelper::remove($options, 'encode', true);
    return Html::tag($tag, $encode ? Html::encode($error) : $error, $options);
}

            
errorSummary() public static メソッド

定義元: yii\helpers\BaseHtml::errorSummary()

検証エラーの概要を生成します。

バリデーションエラーがない場合、空のエラーサマリーマークアップが生成されますが、非表示になります。

public static string errorSummary ( $models, $options = [] )
$models yii\base\Model|yii\base\Model[]

バリデーションエラーを表示するモデル。

$options 配列

名前と値のペアによるタグのオプション。次のオプションは特別に処理されます。

  • header: string。エラーサマリーのヘッダーHTML。設定されていない場合、デフォルトのプロンプト文字列が使用されます。
  • footer: string。エラーサマリーのフッターHTML。デフォルトは空の文字列です。
  • encode: boolean。false に設定した場合、エラーメッセージはエンコードされません。デフォルトは true です。
  • showAllErrors: boolean。true に設定した場合、各属性のすべてのエラーメッセージが表示されます。それ以外の場合は、各属性の最初のエラーメッセージのみが表示されます。デフォルトは false です。このオプションは 2.0.10 以降で利用可能です。
  • emptyClass: string。空のサマリーに追加されるクラス名。

残りのオプションは、コンテナタグの属性としてレンダリングされます。

return 文字列

生成されたエラーサマリー

                public static function errorSummary($models, $options = [])
{
    $header = isset($options['header']) ? $options['header'] : '<p>' . Yii::t('yii', 'Please fix the following errors:') . '</p>';
    $footer = ArrayHelper::remove($options, 'footer', '');
    $encode = ArrayHelper::remove($options, 'encode', true);
    $showAllErrors = ArrayHelper::remove($options, 'showAllErrors', false);
    $emptyClass = ArrayHelper::remove($options, 'emptyClass', null);
    unset($options['header']);
    $lines = self::collectErrors($models, $encode, $showAllErrors);
    if (empty($lines)) {
        // still render the placeholder for client-side validation use
        $content = '<ul></ul>';
        if ($emptyClass !== null) {
            $options['class'] = $emptyClass;
        } else {
            $options['style'] = isset($options['style']) ? rtrim($options['style'], ';') . '; display:none' : 'display:none';
        }
    } else {
        $content = '<ul><li>' . implode("</li>\n<li>", $lines) . '</li></ul>';
    }
    return Html::tag('div', $header . $content . $footer, $options);
}

            
escapeJsRegularExpression() public static メソッド (バージョン 2.0.6 以降で利用可能)

定義元: yii\helpers\BaseHtml::escapeJsRegularExpression()

JavaScript で使用するために正規表現をエスケープします。

public static string escapeJsRegularExpression ( $regexp )
$regexp 文字列

エスケープする正規表現。

return 文字列

エスケープされた結果。

                public static function escapeJsRegularExpression($regexp)
{
    $pattern = preg_replace('/\\\\x\{?([0-9a-fA-F]+)\}?/', '\u$1', $regexp);
    $deliminator = substr($pattern, 0, 1);
    $pos = strrpos($pattern, $deliminator, 1);
    $flag = substr($pattern, $pos + 1);
    if ($deliminator !== '/') {
        $pattern = '/' . str_replace('/', '\\/', substr($pattern, 1, $pos - 1)) . '/';
    } else {
        $pattern = substr($pattern, 0, $pos + 1);
    }
    if (!empty($flag)) {
        $pattern .= preg_replace('/[^igmu]/', '', $flag);
    }
    return $pattern;
}

            
fileInput() public static メソッド

定義元: yii\helpers\BaseHtml::fileInput()

ファイル入力フィールドを生成します。

ファイル入力フィールドを使用するには、囲むフォームの "enctype" 属性を "multipart/form-data" に設定する必要があります。フォームが送信されると、アップロードされたファイル情報は $_FILES[$name] を介して取得できます (PHPドキュメントを参照)。

public static string fileInput ( $name, $value null, $options = [] )
$name 文字列

name属性。

$value string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたファイル入力タグ

                public static function fileInput($name, $value = null, $options = [])
{
    return static::input('file', $name, $value, $options);
}

            
getAttributeName() public static メソッド

定義元: yii\helpers\BaseHtml::getAttributeName()

指定された属性式から実際の属性名を返します。

属性式は、配列インデックスをプレフィックスまたはサフィックスとして持つ属性名です。主に表形式のデータ入力や配列型の入力で使用されます。以下にいくつかの例を示します。

  • [0]content は、表形式のデータ入力で、表形式入力の最初のモデルの "content" 属性を表すために使用されます。
  • dates[0] は、"dates" 属性の最初の配列要素を表します。
  • [0]dates[0] は、表形式入力の最初のモデルの "dates" 属性の最初の配列要素を表します。

$attribute にプレフィックスもサフィックスもない場合、変更せずに返されます。

public static string getAttributeName ( $attribute )
$attribute 文字列

属性名または式

return 文字列

接頭辞と接尾辞のない属性名。

throws yii\base\InvalidArgumentException

属性名に非ワード文字が含まれている場合。

                public static function getAttributeName($attribute)
{
    if (preg_match(static::$attributeRegex, $attribute, $matches)) {
        return $matches[2];
    }
    throw new InvalidArgumentException('Attribute name must contain word characters only.');
}

            
getAttributeValue() public static method

定義元: yii\helpers\BaseHtml::getAttributeValue()

指定された属性名または式の値を返します。

[0]dates[0]のような属性式の場合、このメソッドは$model->dates[0]の値を返します。属性式の詳細については、getAttributeName()を参照してください。

属性値がyii\db\ActiveRecordInterfaceのインスタンス、またはそのようなインスタンスの配列である場合、代わりにARインスタンスのプライマリ値が返されます。

public static string|array getAttributeValue ( $model, $attribute )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式

return string|array

対応する属性値

throws yii\base\InvalidArgumentException

属性名に非ワード文字が含まれている場合。

                public static function getAttributeValue($model, $attribute)
{
    if (!preg_match(static::$attributeRegex, $attribute, $matches)) {
        throw new InvalidArgumentException('Attribute name must contain word characters only.');
    }
    $attribute = $matches[2];
    $value = $model->$attribute;
    if ($matches[3] !== '') {
        foreach (explode('][', trim($matches[3], '[]')) as $id) {
            if ((is_array($value) || $value instanceof \ArrayAccess) && isset($value[$id])) {
                $value = $value[$id];
            } else {
                return null;
            }
        }
    }
    // https://github.com/yiisoft/yii2/issues/1457
    if (is_array($value)) {
        foreach ($value as $i => $v) {
            if ($v instanceof ActiveRecordInterface) {
                $v = $v->getPrimaryKey(false);
                $value[$i] = is_array($v) ? json_encode($v) : $v;
            }
        }
    } elseif ($value instanceof ActiveRecordInterface) {
        $value = $value->getPrimaryKey(false);
        return is_array($value) ? json_encode($value) : $value;
    }
    return $value;
}

            
getInputId() public static method

定義元: yii\helpers\BaseHtml::getInputId()

指定された属性名または式の適切な入力 ID を生成します。

public static string getInputId ( $model, $attribute )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の説明については、getAttributeName()を参照してください。

return 文字列

生成された入力ID。

throws yii\base\InvalidArgumentException

属性名に非ワード文字が含まれている場合。

                public static function getInputId($model, $attribute)
{
    $name = static::getInputName($model, $attribute);
    return static::getInputIdByName($name);
}

            
getInputIdByName() public static method (バージョン 2.0.43 以降で利用可能)

定義元: yii\helpers\BaseHtml::getInputIdByName()

入力名を ID に変換します。

たとえば、$namePost[content]の場合、このメソッドはpost-contentを返します。

public static string getInputIdByName ( $name )
$name 文字列

入力名

return 文字列

生成された入力ID

                public static function getInputIdByName($name)
{
    $charset = Yii::$app ? Yii::$app->charset : 'UTF-8';
    $name = mb_strtolower($name, $charset);
    return str_replace(['[]', '][', '[', ']', ' ', '.', '--'], ['', '-', '-', '', '-', '-', '-'], $name);
}

            
getInputName() public static method

定義元: yii\helpers\BaseHtml::getInputName()

指定された属性名または式の適切な入力名を生成します。

このメソッドは、指定された属性のユーザー入力を収集するために、入力名として使用できる名前を生成します。名前は、モデルのフォーム名と指定された属性名に従って生成されます。たとえば、Postモデルのフォーム名がPostの場合、content属性に対して生成される入力名はPost[content]になります。

属性式の説明については、getAttributeName()を参照してください。

public static string getInputName ( $model, $attribute )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式

return 文字列

生成された入力名

throws yii\base\InvalidArgumentException

属性名に非ワード文字が含まれている場合。

                public static function getInputName($model, $attribute)
{
    $formName = $model->formName();
    if (!preg_match(static::$attributeRegex, $attribute, $matches)) {
        throw new InvalidArgumentException('Attribute name must contain word characters only.');
    }
    $prefix = $matches[1];
    $attribute = $matches[2];
    $suffix = $matches[3];
    if ($formName === '' && $prefix === '') {
        return $attribute . $suffix;
    } elseif ($formName !== '') {
        return $formName . $prefix . "[$attribute]" . $suffix;
    }
    throw new InvalidArgumentException(get_class($model) . '::formName() cannot be empty for tabular inputs.');
}

            
hiddenInput() public static method

定義元: yii\helpers\BaseHtml::hiddenInput()

隠し入力フィールドを生成します。

public static string hiddenInput ( $name, $value null, $options = [] )
$name 文字列

name属性。

$value string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された非表示入力タグ

                public static function hiddenInput($name, $value = null, $options = [])
{
    return static::input('hidden', $name, $value, $options);
}

            
img() public static method

定義元: yii\helpers\BaseHtml::img()

画像タグを生成します。

public static string img ( $src, $options = [] )
$src array|string

画像URL。このパラメータは、yii\helpers\Url::to()によって処理されます。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

バージョン2.0.12以降では、srcsetオプションを記述子をキーとし、URLを値とする配列として渡すことができます。すべてのURLはyii\helpers\Url::to()によって処理されます。

return 文字列

生成された画像タグ。

                public static function img($src, $options = [])
{
    $options['src'] = Url::to($src);
    if (isset($options['srcset']) && is_array($options['srcset'])) {
        $srcset = [];
        foreach ($options['srcset'] as $descriptor => $url) {
            $srcset[] = Url::to($url) . ' ' . $descriptor;
        }
        $options['srcset'] = implode(',', $srcset);
    }
    if (!isset($options['alt'])) {
        $options['alt'] = '';
    }
    return static::tag('img', '', $options);
}

            
input() public static method

定義元: yii\helpers\BaseHtml::input()

指定されたタイプの入力タイプを生成します。

public static string input ( $type, $name null, $value null, $options = [] )
$type 文字列

type属性。

$name string|null

name属性。nullの場合、name属性は生成されません。

$value string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された入力タグ

                public static function input($type, $name = null, $value = null, $options = [])
{
    if (!isset($options['type'])) {
        $options['type'] = $type;
    }
    $options['name'] = $name;
    $options['value'] = $value === null ? null : (string) $value;
    return static::tag('input', '', $options);
}

            
jsFile() public static method

定義元: yii\helpers\BaseHtml::jsFile()

外部 JavaScript ファイルを参照する script タグを生成します。

yii\helpers\Url::to() も参照してください。

public static string jsFile ( $url, $options = [] )
$url 文字列

外部JavaScriptファイルのURL。このパラメータは、yii\helpers\Url::to()によって処理されます。

$options 配列

名前と値のペアでのタグオプション。次のオプションは特別に処理されます。

  • condition: IE用の条件付きコメントを指定します。例: lt IE 9。これが指定されている場合、生成されたscriptタグは条件付きコメントで囲まれます。これは主にIEブラウザの古いバージョンをサポートするのに役立ちます。

残りのオプションは、結果のscriptタグの属性としてレンダリングされます。値はencode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性がどのようにレンダリングされるかの詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたscriptタグ

                public static function jsFile($url, $options = [])
{
    $options['src'] = Url::to($url);
    if (isset($options['condition'])) {
        $condition = $options['condition'];
        unset($options['condition']);
        return self::wrapIntoCondition(static::tag('script', '', $options), $condition);
    }
    return static::tag('script', '', $options);
}

            
label() public static method

定義元: yii\helpers\BaseHtml::label()

ラベルタグを生成します。

public static string label ( $content, $for null, $options = [] )
$content 文字列

ラベルテキスト。HTMLエンコードされません。したがって、画像タグなどのHTMLコードを渡すことができます。これがエンドユーザーからのものである場合は、XSS攻撃を防ぐためにencode()する必要があります。

$for string|null

このラベルが関連付けられているHTML要素のID。これがnullの場合、"for"属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたラベルタグ

                public static function label($content, $for = null, $options = [])
{
    $options['for'] = $for;
    return static::tag('label', $content, $options);
}

            
listBox() public static method

定義元: yii\helpers\BaseHtml::listBox()

リストボックスを生成します。

public static string listBox ( $name, $selection null, $items = [], $options = [] )
$name 文字列

入力名

$selection string|boolean|array|null

選択された値です。単一選択の場合は文字列、複数選択の場合は配列です。

$items 配列

オプションのデータ項目。配列のキーはオプションの値で、配列の値は対応するオプションのラベルです。配列をネストすることもできます(つまり、一部の配列値も配列です)。サブ配列ごとに、ラベルがサブ配列に関連付けられたキーであるオプショングループが生成されます。データモデルのリストがある場合は、yii\helpers\ArrayHelper::map()を使用して、上記の形式に変換できます。

注:値とラベルは、このメソッドによって自動的にHTMLエンコードされ、ラベル内の空白もHTMLエンコードされます。

$options 配列

名前と値のペアによるタグのオプション。次のオプションは特別に処理されます。

  • prompt: string, 最初のオプションとして表示されるプロンプトテキスト。バージョン2.0.11以降では、配列を使用して値を上書きしたり、他のタグ属性を設定したりできます。

    ['text' => 'Please select', 'options' => ['value' => 'none', 'class' => 'prompt', 'label' => 'Select']],
    
  • options: array, selectオプションタグの属性。配列のキーは有効なオプション値である必要があり、配列の値は対応するオプションタグの追加属性です。例:

    [
        'value1' => ['disabled' => true],
        'value2' => ['label' => 'value 2'],
    ];
    
  • groups: array, optgroupタグの属性。これの構造は 'options' の構造に似ていますが、配列キーは $items で指定されたoptgroupラベルを表す点が異なります。
  • unselect: string、オプションが選択されていない場合に送信される値。この属性が設定されている場合、複数モードでオプションが選択されていない場合でも、投稿された未選択の値を取得できるように、隠しフィールドが生成されます。
  • encodeSpaces: bool, オプションのプロンプトとオプションの値の空白を&nbsp;文字でエンコードするかどうか。デフォルトはfalseです。
  • encode: bool, オプションのプロンプトとオプションの値の文字をエンコードするかどうか。デフォルトはtrueです。このオプションは2.0.3以降で利用可能です。
  • strict: boolean, $selectionが配列で、この値がtrueの場合、$itemsキーに対して厳密な比較が実行されます。デフォルトはfalseです。このオプションは2.0.37以降で使用可能です。

残りのオプションは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたリストボックスのタグ

                public static function listBox($name, $selection = null, $items = [], $options = [])
{
    if (!array_key_exists('size', $options)) {
        $options['size'] = 4;
    }
    if (!empty($options['multiple']) && !empty($name) && substr_compare($name, '[]', -2, 2)) {
        $name .= '[]';
    }
    $options['name'] = $name;
    if (isset($options['unselect'])) {
        // add a hidden field so that if the list box has no option being selected, it still submits a value
        if (!empty($name) && substr_compare($name, '[]', -2, 2) === 0) {
            $name = substr($name, 0, -2);
        }
        $hiddenOptions = [];
        // make sure disabled input is not sending any value
        if (!empty($options['disabled'])) {
            $hiddenOptions['disabled'] = $options['disabled'];
        }
        $hidden = static::hiddenInput($name, $options['unselect'], $hiddenOptions);
        unset($options['unselect']);
    } else {
        $hidden = '';
    }
    $selectOptions = static::renderSelectOptions($selection, $items, $options);
    return $hidden . static::tag('select', "\n" . $selectOptions . "\n", $options);
}

            
mailto() public static メソッド

定義元: yii\helpers\BaseHtml::mailto()

mailto ハイパーリンクを生成します。

public static string mailto ( $text, $email null, $options = [] )
$text 文字列

リンクの本文。HTMLエンコードはされません。したがって、画像タグのようなHTMLコードを渡すことができます。エンドユーザーからの入力である場合は、XSS攻撃を防ぐためにencode()することを検討してください。

$email string|null

メールアドレス。これがnullの場合、最初のパラメータ(リンクの本文)がメールアドレスとして扱われ、使用されます。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたmailtoリンク

                public static function mailto($text, $email = null, $options = [])
{
    $options['href'] = 'mailto:' . ($email === null ? $text : $email);
    return static::tag('a', $text, $options);
}

            
ol() public static メソッド

定義元: yii\helpers\BaseHtml::ol()

順序付きリストを生成します。

public static string ol ( $items, $options = [] )
$items array|Traversable

リストを生成するためのアイテム。各アイテムは単一のリストアイテムを生成します。$options['encode']が設定されていないかtrueの場合、アイテムは自動的にHTMLエンコードされることに注意してください。

$options 配列

ラジオボタンリストのオプション(name => config)。次のオプションがサポートされています。

  • encode: boolean, アイテムをHTMLエンコードするかどうか。デフォルトはtrue。このオプションは、itemオプションが指定されている場合は無視されます。
  • itemOptions: array, liタグのHTML属性。このオプションは、itemオプションが指定されている場合は無視されます。
  • item: callable, 各リストアイテムを生成するために使用されるコールバック。このコールバックの署名は次のとおりである必要があります。

    function ($item, $index)
    

    ここで、$indexは$items内の$itemに対応する配列キーです。コールバックはリストアイテムタグ全体を返す必要があります。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された順序付きリスト。$itemsが空の場合は、空の文字列が返されます。

                public static function ol($items, $options = [])
{
    $options['tag'] = 'ol';
    return static::ul($items, $options);
}

            
passwordInput() public static メソッド

定義元: yii\helpers\BaseHtml::passwordInput()

パスワード入力フィールドを生成します。

public static string passwordInput ( $name, $value null, $options = [] )
$name 文字列

name属性。

$value string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたパスワード入力タグ

                public static function passwordInput($name, $value = null, $options = [])
{
    return static::input('password', $name, $value, $options);
}

            
radio() public static メソッド

定義元: yii\helpers\BaseHtml::radio()

ラジオボタン入力を生成します。

public static string radio ( $name, $checked false, $options = [] )
$name 文字列

name属性。

$checked ブール値

ラジオボタンをチェックする必要があるかどうか。

$options 配列

名前と値のペアによるタグのオプション。受け入れられる属性の詳細については、booleanInput()を参照してください。

return 文字列

生成されたラジオボタンのタグ

                public static function radio($name, $checked = false, $options = [])
{
    return static::booleanInput('radio', $name, $checked, $options);
}

            
radioList() public static メソッド

定義元: yii\helpers\BaseHtml::radioList()

ラジオボタンのリストを生成します。

ラジオボタンリストは、チェックボックスリストと似ていますが、単一選択のみを許可します。

public static string radioList ( $name, $selection null, $items = [], $options = [] )
$name 文字列

各ラジオボタンのname属性。

$selection string|array|null

選択された値です。単一選択の場合は文字列、複数選択の場合は配列です。

$items 配列

ラジオボタンを生成するために使用されるデータアイテム。配列キーはラジオボタンの値であり、配列の値は対応するラベルです。

$options 配列

ラジオボタンリストのコンテナタグのオプション (name => config)。以下のオプションは特別に処理されます

  • tag: string|false, コンテナ要素のタグ名。コンテナなしでラジオボタンをレンダリングするにはfalse。 tag()も参照してください。
  • unselect: string, ラジオボタンが選択されていない場合に送信される値。このオプションを設定すると、隠し入力が生成されます。
  • disabled: boolean, unselectオプションで生成された隠し入力を無効にするかどうか。デフォルトはfalseです。このオプションはバージョン2.0.16以降で使用可能です。
  • encode: boolean, チェックボックスのラベルをHTMLエンコードするかどうか。デフォルトはtrueです。itemオプションが設定されている場合は無視されます。
  • strict: boolean, $selectionが配列で、この値がtrueの場合、$itemsキーに対して厳密な比較が実行されます。デフォルトはfalseです。このオプションは2.0.37以降で使用可能です。
  • separator: string, 項目を区切るHTMLコード。
  • itemOptions: array, radio()を使用してラジオボタンタグを生成するためのオプション。
  • item: callable, $items内の単一の項目に対応するHTMLコードの生成をカスタマイズするために使用できるコールバック。このコールバックの署名は次のとおりです。

    function ($index, $label, $name, $checked, $value)
    

    ここで、$indexはリスト全体のラジオボタンのゼロベースのインデックス、$labelはラジオボタンのラベル、$name、$value、および$checkedは、それぞれラジオボタン入力の名前、値、チェック状態を表します。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたラジオボタンリスト

                public static function radioList($name, $selection = null, $items = [], $options = [])
{
    if (ArrayHelper::isTraversable($selection)) {
        $selection = array_map('strval', ArrayHelper::toArray($selection));
    }
    $formatter = ArrayHelper::remove($options, 'item');
    $itemOptions = ArrayHelper::remove($options, 'itemOptions', []);
    $encode = ArrayHelper::remove($options, 'encode', true);
    $separator = ArrayHelper::remove($options, 'separator', "\n");
    $tag = ArrayHelper::remove($options, 'tag', 'div');
    $strict = ArrayHelper::remove($options, 'strict', false);
    $hidden = '';
    if (isset($options['unselect'])) {
        // add a hidden field so that if the list box has no option being selected, it still submits a value
        $hiddenOptions = [];
        // make sure disabled input is not sending any value
        if (!empty($options['disabled'])) {
            $hiddenOptions['disabled'] = $options['disabled'];
        }
        $hidden =  static::hiddenInput($name, $options['unselect'], $hiddenOptions);
        unset($options['unselect'], $options['disabled']);
    }
    $lines = [];
    $index = 0;
    foreach ($items as $value => $label) {
        $checked = $selection !== null &&
            (!ArrayHelper::isTraversable($selection) && !strcmp($value, $selection)
                || ArrayHelper::isTraversable($selection) && ArrayHelper::isIn((string)$value, $selection, $strict));
        if ($formatter !== null) {
            $lines[] = call_user_func($formatter, $index, $label, $name, $checked, $value);
        } else {
            $lines[] = static::radio($name, $checked, array_merge([
                'value' => $value,
                'label' => $encode ? static::encode($label) : $label,
            ], $itemOptions));
        }
        $index++;
    }
    $visibleContent = implode($separator, $lines);
    if ($tag === false) {
        return $hidden . $visibleContent;
    }
    return $hidden . static::tag($tag, $visibleContent, $options);
}

            
removeCssClass() public static メソッド

定義元: yii\helpers\BaseHtml::removeCssClass()

指定されたオプションから CSS クラスを削除します。

addCssClass()も参照してください。

public static void removeCssClass ( &$options, $class )
$options 配列

変更されるオプション。

$class string|array

削除するCSSクラス。

                public static function removeCssClass(&$options, $class)
{
    if (isset($options['class'])) {
        if (is_array($options['class'])) {
            $classes = array_diff($options['class'], (array) $class);
            if (empty($classes)) {
                unset($options['class']);
            } else {
                $options['class'] = $classes;
            }
        } else {
            $classes = preg_split('/\s+/', $options['class'], -1, PREG_SPLIT_NO_EMPTY);
            $classes = array_diff($classes, (array) $class);
            if (empty($classes)) {
                unset($options['class']);
            } else {
                $options['class'] = implode(' ', $classes);
            }
        }
    }
}

            
removeCssStyle() public static メソッド

定義元: yii\helpers\BaseHtml::removeCssStyle()

HTML オプションから指定された CSS スタイルを削除します。

例:

Html::removeCssStyle($options, ['width', 'height']);

addCssStyle()も参照してください。

public static void removeCssStyle ( &$options, $properties )
$options 配列

変更されるHTMLオプション。

$properties string|array

削除するCSSプロパティ。単一のプロパティを削除する場合は、文字列を使用できます。

                public static function removeCssStyle(&$options, $properties)
{
    if (!empty($options['style'])) {
        $style = is_array($options['style']) ? $options['style'] : static::cssStyleToArray($options['style']);
        foreach ((array) $properties as $property) {
            unset($style[$property]);
        }
        $options['style'] = static::cssStyleFromArray($style);
    }
}

            
renderSelectOptions() public static メソッド

定義元: yii\helpers\BaseHtml::renderSelectOptions()

dropDownList() および listBox() で使用できる option タグをレンダリングします。

public static string renderSelectOptions ( $selection, $items, &$tagOptions = [] )
$selection string|array|boolean|null

選択された値。単一選択の場合は文字列/真偽値、複数選択の場合は配列。

$items 配列

オプションのデータ項目。配列のキーはオプションの値で、配列の値は対応するオプションのラベルです。配列をネストすることもできます(つまり、一部の配列値も配列です)。サブ配列ごとに、ラベルがサブ配列に関連付けられたキーであるオプショングループが生成されます。データモデルのリストがある場合は、yii\helpers\ArrayHelper::map()を使用して、上記の形式に変換できます。

注:値とラベルは、このメソッドによって自動的にHTMLエンコードされ、ラベル内の空白もHTMLエンコードされます。

$tagOptions 配列

dropDownList()またはlistBox()呼び出しに渡される$optionsパラメータ。このメソッドは、"prompt"、"options"、"groups"の要素があれば削除します。これらの要素の説明については、dropDownList()を参照してください。

return 文字列

生成されたリストオプション

                public static function renderSelectOptions($selection, $items, &$tagOptions = [])
{
    if (ArrayHelper::isTraversable($selection)) {
        $normalizedSelection = [];
        foreach (ArrayHelper::toArray($selection) as $selectionItem) {
            if (is_bool($selectionItem)) {
                $normalizedSelection[] = $selectionItem ? '1' : '0';
            } else {
                $normalizedSelection[] = (string)$selectionItem;
            }
        }
        $selection = $normalizedSelection;
    } elseif (is_bool($selection)) {
        $selection = $selection ? '1' : '0';
    }
    $lines = [];
    $encodeSpaces = ArrayHelper::remove($tagOptions, 'encodeSpaces', false);
    $encode = ArrayHelper::remove($tagOptions, 'encode', true);
    $strict = ArrayHelper::remove($tagOptions, 'strict', false);
    if (isset($tagOptions['prompt'])) {
        $promptOptions = ['value' => ''];
        if (is_string($tagOptions['prompt'])) {
            $promptText = $tagOptions['prompt'];
        } else {
            $promptText = $tagOptions['prompt']['text'];
            $promptOptions = array_merge($promptOptions, $tagOptions['prompt']['options']);
        }
        $promptText = $encode ? static::encode($promptText) : $promptText;
        if ($encodeSpaces) {
            $promptText = str_replace(' ', '&nbsp;', $promptText);
        }
        $lines[] = static::tag('option', $promptText, $promptOptions);
    }
    $options = isset($tagOptions['options']) ? $tagOptions['options'] : [];
    $groups = isset($tagOptions['groups']) ? $tagOptions['groups'] : [];
    unset($tagOptions['prompt'], $tagOptions['options'], $tagOptions['groups']);
    $options['encodeSpaces'] = ArrayHelper::getValue($options, 'encodeSpaces', $encodeSpaces);
    $options['encode'] = ArrayHelper::getValue($options, 'encode', $encode);
    foreach ($items as $key => $value) {
        if (is_array($value)) {
            $groupAttrs = isset($groups[$key]) ? $groups[$key] : [];
            if (!isset($groupAttrs['label'])) {
                $groupAttrs['label'] = $key;
            }
            $attrs = ['options' => $options, 'groups' => $groups, 'encodeSpaces' => $encodeSpaces, 'encode' => $encode, 'strict' => $strict];
            $content = static::renderSelectOptions($selection, $value, $attrs);
            $lines[] = static::tag('optgroup', "\n" . $content . "\n", $groupAttrs);
        } else {
            $attrs = isset($options[$key]) ? $options[$key] : [];
            $attrs['value'] = (string) $key;
            if (!array_key_exists('selected', $attrs)) {
                $selected = false;
                if ($selection !== null) {
                    if (ArrayHelper::isTraversable($selection)) {
                        $selected = ArrayHelper::isIn((string)$key, $selection, $strict);
                    } elseif ($key === '' || $selection === '') {
                        $selected = $selection === $key;
                    } elseif ($strict) {
                        $selected = !strcmp((string)$key, (string)$selection);
                    } else {
                        $selected = $selection == $key;
                    }
                }
                $attrs['selected'] = $selected;
            }
            $text = $encode ? static::encode($value) : $value;
            if ($encodeSpaces) {
                $text = str_replace(' ', '&nbsp;', $text);
            }
            $lines[] = static::tag('option', $text, $attrs);
        }
    }
    return implode("\n", $lines);
}

            
renderTagAttributes() public static メソッド

定義元: yii\helpers\BaseHtml::renderTagAttributes()

HTML タグ属性をレンダリングします。

値がboolean型の属性は、boolean属性として扱われます。

値がnullの属性はレンダリングされません。

属性の値は、encode()を使用してHTMLエンコードされます。

ariaおよびdata属性は、配列値に設定されると特別な処理が行われます。これらの場合、配列は「展開」され、ARIA/data属性のリストがレンダリングされます。たとえば、'aria' => ['role' => 'checkbox', 'value' => 'true']は、aria-role="checkbox" aria-value="true"としてレンダリングされます。

ネストされたdataの値が配列に設定されている場合は、JSONエンコードされます。たとえば、'data' => ['params' => ['id' => 1, 'name' => 'yii']]は、data-params='{"id":1,"name":"yii"}'としてレンダリングされます。

addCssClass()も参照してください。

public static string renderTagAttributes ( $attributes )
$attributes 配列

レンダリングされる属性。属性値は encode() を使用して HTML エンコードされます。

return 文字列

レンダリング結果。属性が空でない場合、先頭に空白を含む文字列としてレンダリングされ(タグ内のタグ名に直接追加できるように)、属性がない場合は空の文字列が返されます。

                public static function renderTagAttributes($attributes)
{
    if (count($attributes) > 1) {
        $sorted = [];
        foreach (static::$attributeOrder as $name) {
            if (isset($attributes[$name])) {
                $sorted[$name] = $attributes[$name];
            }
        }
        $attributes = array_merge($sorted, $attributes);
    }
    $html = '';
    foreach ($attributes as $name => $value) {
        if (is_bool($value)) {
            if ($value) {
                $html .= " $name";
            }
        } elseif (is_array($value)) {
            if (in_array($name, static::$dataAttributes)) {
                foreach ($value as $n => $v) {
                    if (is_array($v)) {
                        $html .= " $name-$n='" . Json::htmlEncode($v) . "'";
                    } elseif (is_bool($v)) {
                        if ($v) {
                            $html .= " $name-$n";
                        }
                    } elseif ($v !== null) {
                        $html .= " $name-$n=\"" . static::encode($v) . '"';
                    }
                }
            } elseif ($name === 'class') {
                if (empty($value)) {
                    continue;
                }
                if (static::$normalizeClassAttribute === true && count($value) > 1) {
                    // removes duplicate classes
                    $value = explode(' ', implode(' ', $value));
                    $value = array_unique($value);
                }
                $html .= " $name=\"" . static::encode(implode(' ', array_filter($value))) . '"';
            } elseif ($name === 'style') {
                if (empty($value)) {
                    continue;
                }
                $html .= " $name=\"" . static::encode(static::cssStyleFromArray($value)) . '"';
            } else {
                $html .= " $name='" . Json::htmlEncode($value) . "'";
            }
        } elseif ($value !== null) {
            $html .= " $name=\"" . static::encode($value) . '"';
        }
    }
    return $html;
}

            
resetButton() public static method

定義元: yii\helpers\BaseHtml::resetButton()

リセットボタンタグを生成します。

public static string resetButton ( $content 'リセット', $options = [] )
$content 文字列

ボタンタグ内に囲まれたコンテンツです。HTMLエンコードはされません。したがって、画像タグなどのHTMLコードを渡すことができます。エンドユーザーから入力される場合は、XSS攻撃を防ぐためにencode()を検討する必要があります。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたリセットボタントグ

                public static function resetButton($content = 'Reset', $options = [])
{
    $options['type'] = 'reset';
    return static::button($content, $options);
}

            
resetInput() public static method

定義元: yii\helpers\BaseHtml::resetInput()

リセット入力ボタンを生成します。

public static string resetInput ( $label 'リセット', $options = [] )
$label string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

ボタンタグの属性。値は encode() を使用して HTML エンコードされます。値が null の属性は無視され、返されるタグには含まれません。属性のレンダリング方法の詳細については、renderTagAttributes() を参照してください。

return 文字列

生成されたボタンタグ

                public static function resetInput($label = 'Reset', $options = [])
{
    $options['type'] = 'reset';
    $options['value'] = $label;
    return static::tag('input', '', $options);
}

            
script() public static method

定義元: yii\helpers\BaseHtml::script()

script タグを生成します。

public static string script ( $content, $options = [] )
$content 文字列

スクリプトの内容

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたscriptタグ

                public static function script($content, $options = [])
{
    return static::tag('script', $content, $options);
}

            
setActivePlaceholder() protected static method (version 2.0.14 から利用可能)

定義元: yii\helpers\BaseHtml::setActivePlaceholder()

モデル属性のラベルからプレースホルダーを生成します。

protected static void setActivePlaceholder ( $model, $attribute, &$options = [] )
$model yii\base\Model

モデルオブジェクト

$attribute 文字列

属性名または式。属性式の形式については、getAttributeName()を参照してください。

$options 配列

名前と値のペアの形式のタグオプション。これらは、結果のタグの属性としてレンダリングされます。値は encode() を使用して HTML エンコードされます。

                protected static function setActivePlaceholder($model, $attribute, &$options = [])
{
    if (isset($options['placeholder']) && $options['placeholder'] === true) {
        $attribute = static::getAttributeName($attribute);
        $options['placeholder'] = $model->getAttributeLabel($attribute);
    }
}

            
style() public static method

定義元: yii\helpers\BaseHtml::style()

style タグを生成します。

public static string style ( $content, $options = [] )
$content 文字列

スタイルコンテンツ

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された style タグ

                public static function style($content, $options = [])
{
    return static::tag('style', $content, $options);
}

            
submitButton() public static method

定義元: yii\helpers\BaseHtml::submitButton()

送信ボタンタグを生成します。

送信ボタンなどのフォーム要素に名前を付ける際は注意が必要です。jQuery のドキュメントによると、submitlengthmethodなど、競合を引き起こす可能性のある予約名がいくつかあります。

public static string submitButton ( $content '送信', $options = [] )
$content 文字列

ボタンタグ内に囲まれたコンテンツです。HTMLエンコードはされません。したがって、画像タグなどのHTMLコードを渡すことができます。エンドユーザーから入力される場合は、XSS攻撃を防ぐためにencode()を検討する必要があります。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された送信ボタントグ

                public static function submitButton($content = 'Submit', $options = [])
{
    $options['type'] = 'submit';
    return static::button($content, $options);
}

            
submitInput() public static method

定義元: yii\helpers\BaseHtml::submitInput()

送信入力ボタンを生成します。

送信ボタンなどのフォーム要素に名前を付ける際は注意が必要です。jQuery のドキュメントによると、submitlengthmethodなど、競合を引き起こす可能性のある予約名がいくつかあります。

public static string submitInput ( $label '送信', $options = [] )
$label string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたボタンタグ

                public static function submitInput($label = 'Submit', $options = [])
{
    $options['type'] = 'submit';
    $options['value'] = $label;
    return static::tag('input', '', $options);
}

            
tag() public static method

定義元: yii\helpers\BaseHtml::tag()

完全な HTML タグを生成します。

こちらも参照してください

public static string tag ( $name, $content '', $options = [] )
$name string|boolean|null

タグ名。$name が null または false の場合、対応するコンテンツはタグなしでレンダリングされます。

$content 文字列

開始タグと終了タグで囲まれるコンテンツ。HTML エンコードはされません。エンドユーザーからのコンテンツである場合は、XSS 攻撃を防ぐために encode() を検討する必要があります。

$options 配列

名前と値のペアの形式の HTML タグ属性 (HTML オプション)。これらは、結果のタグの属性としてレンダリングされます。値は encode() を使用して HTML エンコードされます。値が null の場合、対応する属性はレンダリングされません。

たとえば、['class' => 'my-class', 'target' => '_blank', 'value' => null] を使用すると、html 属性は class="my-class" target="_blank" のようにレンダリングされます。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された HTML タグ

                public static function tag($name, $content = '', $options = [])
{
    if ($name === null || $name === false) {
        return $content;
    }
    $html = "<$name" . static::renderTagAttributes($options) . '>';
    return isset(static::$voidElements[strtolower($name)]) ? $html : "$html$content</$name>";
}

            
textInput() public static method

定義元: yii\helpers\BaseHtml::textInput()

テキスト入力フィールドを生成します。

public static string textInput ( $name, $value null, $options = [] )
$name 文字列

name属性。

$value string|null

value属性です。nullの場合、value属性は生成されません。

$options 配列

名前と値のペアによるタグのオプション。これらは、結果のタグの属性としてレンダリングされます。値は、encode()を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成されたテキスト入力タグ

                public static function textInput($name, $value = null, $options = [])
{
    return static::input('text', $name, $value, $options);
}

            
textarea() public static メソッド

定義場所: yii\helpers\BaseHtml::textarea()

テキストエリア入力を生成します。

public static string textarea ( $name, $value '', $options = [] )
$name 文字列

入力名

$value 文字列

入力値。 encode() を使用してエンコードされることに注意してください。

$options 配列

名前と値のペアの形式でのタグオプション。これらは、結果のタグの属性としてレンダリングされます。値は encode() を使用してHTMLエンコードされます。値がnullの場合、対応する属性はレンダリングされません。属性がどのようにレンダリングされるかの詳細については、renderTagAttributes() を参照してください。以下の特別なオプションが認識されます。

  • doubleEncode: $value 内のHTMLエンティティを二重にエンコードするかどうか。falseの場合、$value 内のHTMLエンティティはさらにエンコードされません。このオプションはバージョン2.0.11以降で使用可能です。
return 文字列

生成されたテキストエリアタグ

                public static function textarea($name, $value = '', $options = [])
{
    $options['name'] = $name;
    $doubleEncode = ArrayHelper::remove($options, 'doubleEncode', true);
    return static::tag('textarea', static::encode($value, $doubleEncode), $options);
}

            
ul() public static メソッド

定義場所: yii\helpers\BaseHtml::ul()

順序なしリストを生成します。

public static string ul ( $items, $options = [] )
$items array|Traversable

リストを生成するためのアイテム。各アイテムは単一のリストアイテムを生成します。$options['encode']が設定されていないかtrueの場合、アイテムは自動的にHTMLエンコードされることに注意してください。

$options 配列

ラジオボタンリストのオプション(name => config)。次のオプションがサポートされています。

  • encode: boolean, アイテムをHTMLエンコードするかどうか。デフォルトはtrue。このオプションは、itemオプションが指定されている場合は無視されます。
  • separator: string、アイテムを区切るHTMLコード。デフォルトはシンプルな改行 ("\n") です。このオプションはバージョン2.0.7以降で使用可能です。
  • itemOptions: array, liタグのHTML属性。このオプションは、itemオプションが指定されている場合は無視されます。
  • item: callable, 各リストアイテムを生成するために使用されるコールバック。このコールバックの署名は次のとおりである必要があります。

    function ($item, $index)
    

    ここで、$indexは$items内の$itemに対応する配列キーです。コールバックはリストアイテムタグ全体を返す必要があります。

属性のレンダリング方法の詳細については、renderTagAttributes()を参照してください。

return 文字列

生成された順不同リスト。$items が空の場合、空のリストタグが返されます。

                public static function ul($items, $options = [])
{
    $tag = ArrayHelper::remove($options, 'tag', 'ul');
    $encode = ArrayHelper::remove($options, 'encode', true);
    $formatter = ArrayHelper::remove($options, 'item');
    $separator = ArrayHelper::remove($options, 'separator', "\n");
    $itemOptions = ArrayHelper::remove($options, 'itemOptions', []);
    if (empty($items)) {
        return static::tag($tag, '', $options);
    }
    $results = [];
    foreach ($items as $index => $item) {
        if ($formatter !== null) {
            $results[] = call_user_func($formatter, $item, $index);
        } else {
            $results[] = static::tag('li', $encode ? static::encode($item) : $item, $itemOptions);
        }
    }
    return static::tag(
        $tag,
        $separator . implode($separator, $results) . $separator,
        $options
    );
}