Class yii\helpers\BaseHtml

继承yii\helpers\BaseHtml
子类yii\helpers\Html
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseHtml.php

BaseHtml 为 yii\helpers\Html 提供了具体的实现方法.

不要使用 BaseHtml. 改用 yii\helpers\Html.

公共属性

隐藏继承的属性

属性类型描述定义在
$attributeOrder array 标签中属性的首选顺序. yii\helpers\BaseHtml
$attributeRegex string 用于属性名称验证的正则表达式. yii\helpers\BaseHtml
$dataAttributes array 当它们的值是数组类型时应该特别处理的标签属性列表. yii\helpers\BaseHtml
$voidElements array 空元素(单标记标签)列表(元素名称 => 1). yii\helpers\BaseHtml

公共方法

隐藏继承的方法

方法描述定义在
a() 生成超链接标签a. yii\helpers\BaseHtml
activeCheckbox() 为给定的模型属性生成复选框输入域input type="checkbox". yii\helpers\BaseHtml
activeCheckboxList() 为给定的模型属性生成复选框列表input type="checkbox". yii\helpers\BaseHtml
activeDropDownList() 为给定的模型属性生成下拉列表select. yii\helpers\BaseHtml
activeFileInput() 为给定的模型属性生成文件上传域input type="file". yii\helpers\BaseHtml
activeHiddenInput() 为给定的模型属性生成隐藏域input type="hidden". yii\helpers\BaseHtml
activeHint() 为给定的模型属性生成提示标签. yii\helpers\BaseHtml
activeInput() 为给定的模型属性生成输入域标签input. yii\helpers\BaseHtml
activeLabel() 为给定的模型属性生成label标签. yii\helpers\BaseHtml
activeListBox() 为给定的模型属性生成列表框select size="num". yii\helpers\BaseHtml
activePasswordInput() 为给定的模型属性生成密码输入域input type="password". yii\helpers\BaseHtml
activeRadio() 为给定的模型属性生成单选按钮输入域input type="radio". yii\helpers\BaseHtml
activeRadioList() 为给定的模型属性生成单选按钮列表input type="radio". yii\helpers\BaseHtml
activeTextInput() 为给定的模型属性生成文本输入域input type="text". yii\helpers\BaseHtml
activeTextarea() 为给定的模型属性生成多行文本输入域textarea. yii\helpers\BaseHtml
addCssClass() 将一个/几个 CSS 类添加到指定的选项. yii\helpers\BaseHtml
addCssStyle() 将指定的 CSS 样式添加到 HTML 选项. yii\helpers\BaseHtml
beginForm() 生成表单form的开始标签. yii\helpers\BaseHtml
beginTag() 生成标签的起始标签. yii\helpers\BaseHtml
button() 生成按钮标签button. yii\helpers\BaseHtml
buttonInput() 生成输入按钮input type="button". yii\helpers\BaseHtml
checkbox() 生成复选框输入域input type="checkbox". yii\helpers\BaseHtml
checkboxList() 生成复选框列表input type="checkbox". yii\helpers\BaseHtml
csrfMetaTags() 生成包含 CSRF 令牌(token)信息的元标签meta. 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() 生成表单form的结束标签. yii\helpers\BaseHtml
endTag() 生成标签的结束标签. yii\helpers\BaseHtml
error() 生成包含指定的模型属性的第一个验证错误的标签. yii\helpers\BaseHtml
errorSummary() 生成验证错误的摘要. yii\helpers\BaseHtml
escapeJsRegularExpression() 转义正则表达式以在 JavaScript 中使用. yii\helpers\BaseHtml
fileInput() 生成文件上传域input type="file". yii\helpers\BaseHtml
getAttributeName() 从给定的属性表达式返回实际的属性名称. yii\helpers\BaseHtml
getAttributeValue() 返回指定属性名称或表达式的值. yii\helpers\BaseHtml
getInputId() 为指定的属性名称或表达式生成适当的输入域ID值(inputid值). yii\helpers\BaseHtml
getInputName() 为指定的属性名称或表达式生成适当的输入域名称(inputname值). yii\helpers\BaseHtml
hiddenInput() 生成隐藏输入域input type="hidden". yii\helpers\BaseHtml
img() 生成图像标签img. yii\helpers\BaseHtml
input() 生成给定类型的输入域标签input. yii\helpers\BaseHtml
jsFile() 生成引用外部 JavaScript 文件的脚本标签script. yii\helpers\BaseHtml
label() 生成label标签. yii\helpers\BaseHtml
listBox() 生成列表框select size="num". yii\helpers\BaseHtml
mailto() 生成电子邮件(mailto)超链接a. yii\helpers\BaseHtml
ol() 生成有序列表ol. yii\helpers\BaseHtml
passwordInput() 生成密码输入域input type="password". yii\helpers\BaseHtml
radio() 生成单选按钮输入域input type="radio". yii\helpers\BaseHtml
radioList() 生成单选按钮列表input type="radio". yii\helpers\BaseHtml
removeCssClass() 从指定的选项中删除一个 CSS 类. yii\helpers\BaseHtml
removeCssStyle() 从 HTML 选项中删除指定的 CSS 样式. yii\helpers\BaseHtml
renderSelectOptions() 渲染可由 dropDownList()listBox() 使用的选项标签. yii\helpers\BaseHtml
renderTagAttributes() 渲染 HTML 标签的属性. yii\helpers\BaseHtml
resetButton() 生成重置按钮标签button type="reset". yii\helpers\BaseHtml
resetInput() 生成重置输入按钮input type="reset". yii\helpers\BaseHtml
script() 生成 JS 脚本标签script. yii\helpers\BaseHtml
style() 生成 CSS 样式标签style. yii\helpers\BaseHtml
submitButton() 生成提交按钮标签button type="submit". yii\helpers\BaseHtml
submitInput() 生成提交输入按钮input type="submit". yii\helpers\BaseHtml
tag() 生成完整的 HTML 标签. yii\helpers\BaseHtml
textInput() 生成文本输入域input type="text". yii\helpers\BaseHtml
textarea() 生成多行文本输入域textarea. yii\helpers\BaseHtml
ul() 生成无序列表ul. yii\helpers\BaseHtml

受保护的方法

隐藏继承的方法

方法描述定义在
activeBooleanInput() 为给定的模型属性生成布尔输入. yii\helpers\BaseHtml
activeListInput() 为给定的模型属性生成输入字段的列表. yii\helpers\BaseHtml
booleanInput() 生成布尔输入. yii\helpers\BaseHtml
setActivePlaceholder() 从模型属性标签生成占位符. yii\helpers\BaseHtml

属性详情

$attributeOrder public static 属性

标签中属性的首选顺序.

这主要影响 renderTagAttributes() 渲染属性的顺序.

public static array $attributeOrder = ['type''id''class''name''value''href''src''srcset''form''action''method''selected''checked''readonly''disabled''multiple''size''maxlength''width''height''rows''cols''alt''title''rel''media']
$attributeRegex public static 属性 (可用自版本: 2.0.12)

用于属性名称验证的正则表达式.

public static string $attributeRegex '/(^|.*\])([\w\.\+]+)(\[.*|$)/u'
$dataAttributes public static 属性 (可用自版本: 2.0.3)

当它们的值是数组类型时应该特别处理的标签属性列表.

特别是, 如果data属性的值是['name' => 'xyz', 'age' => 13], 那么将会生成两个属性而不是一个: data-name="xyz" data-age="13".

public static array $dataAttributes = ['aria''data''data-ng''ng']
$voidElements public static 属性

空元素(单标记标签)列表(元素名称 => 1).

参见 http://www.w3.org/TR/html-markup/syntax.html#void-element.

public static array $voidElements = ['area' => 1'base' => 1'br' => 1'col' => 1'command' => 1'embed' => 1'hr' => 1'img' => 1'input' => 1'keygen' => 1'link' => 1'meta' => 1'param' => 1'source' => 1'track' => 1'wbr' => 1]

方法详情

a() public static 方法

生成超链接标签a.

参见 yii\helpers\Url::to().

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

超链接的内容. 它不会被 HTML 编码. 因此, 你可以设置 HTML 代码, 如图像标签img. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击.

$url array|string|null

超链接的 URL. 此参数将由 yii\helpers\Url::to() 处理, 并将用于标签的"href"属性. 如果此参数为null, 则不会生成"href"属性.

如果你想使用绝对 URL, 你可以在将 URL 传递给此方法之前自己调用 yii\helpers\Url::to(), 如下所示:

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

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的超链接标签a.

activeBooleanInput() protected static 方法 (可用自版本: 2.0.9)

为给定的模型属性生成布尔输入.

此方法主要由 activeCheckbox()activeRadio() 调用.

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

输入类型, 可以是radiocheckbox.

$model yii\base\Model

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value). 有关可接受的属性的详细信息, 请参阅 booleanInput().

return string

生成的布尔输入.

activeCheckbox() public static 方法

为给定的模型属性生成复选框输入域input type="checkbox".

该方法将根据模型属性的值生成标签的checked属性.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value). 有关可接受的属性的详细信息, 请参阅 booleanInput().

return string

生成的复选框输入域input type="checkbox".

activeCheckboxList() public static 方法

为给定的模型属性生成复选框列表input type="checkbox".

复选框列表允许选择多个, 像 listBox(). 因此, 相应的提交值是一个数组.

复选框列表的选择取自模型属性的值.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$items array

用于生成复选框的数据项. 数组键是选项的值, 数组值是相应的选项标签.

Note: 标签将不会被 HTML 编码, 而值会被 HTML 编码.

$options array

复选框列表容器标签属性的键值对(name-value). 特殊选项:

  • 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是整个列表中复选框从0开始的索引; $label是复选框的标签; $name是复选框的名称; $value是复选框的值; $checked是复选框的选中状态.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的复选框列表input type="checkbox".

activeDropDownList() public static 方法

为给定的模型属性生成下拉列表select.

下拉列表的选择取自模型属性的值.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$items array

数据项列表. 数组键是选项的值, 数组值是相应的选项标签. 数组可以嵌套(即有些数组值也是数组). 对于每个子数组, 将生成一个选项组(optgroup), 其标签是与子数组关联的键. 如果你有一个数据模型列表, 则可以使用 yii\helpers\ArrayHelper::map() 将其转换为上述格式.

Note: 此方法将自动对值和标签将通过自动进行 HTML 编码, 并且标签中的空格也将进行 HTML 编码.

$options array

标签属性的键值对(name-value). 特殊选项:

  • prompt: string, 作为第一个选项显示的提示文本. 从版本 2.0.11 开始, 你可以使用数组来覆盖该值并设置其它标签属性:

    ['text' => 'Please select', 'options' => ['value' => 'none', 'class' => 'prompt', 'label' => 'Select']],
    
  • options: array, 选项标签(option)的属性. 数组键必须是有效的选项值, 数组值是相应选项标签的额外属性. 例如:

    [
        '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 string

生成的下拉列表select.

activeFileInput() public static 方法

为给定的模型属性生成文件上传域input type="file".

此方法将自动为模型属性生成标签的namevalue属性, 除非它们在$options中明确指定.

另外, 如果在$options中使用名为hiddenOptions的键定义了一组单独的 HTML 选项数组, 它将作为$options参数传递给activeHiddenInput字段.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

如果为hiddenOptions参数键定义了一组单独的 HTML 选项数组, 它将作为$options参数传递给activeHiddenInput字段.

return string

生成的文件上传域input type="file".

activeHiddenInput() public static 方法

为给定的模型属性生成隐藏域input type="hidden".

此方法将自动为模型属性生成标签的namevalue属性, 除非它们在$options中明确指定.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的隐藏域input type="hidden".

activeHint() public static 方法 (可用自版本: 2.0.4)

为给定的模型属性生成提示标签.

提示文本是通过 yii\base\Model::getAttributeHint() 获得的与该属性相关联的提示. 如果不能获得提示内容, 方法将返回一个空字符串.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

特殊选项:

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

The generated hint tag

activeInput() public static 方法

为给定的模型属性生成输入域标签input.

此方法将自动为模型属性生成标签的namevalue属性, 除非它们在$options中明确指定.

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

输入域的类型(eg. 'text', 'password').

$model yii\base\Model

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的输入域标签input.

activeLabel() public static 方法

为给定的模型属性生成label标签.

label的文本是通过 yii\base\Model::getAttributeLabel() 获得的与该属性相关联的标签.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

特殊选项:

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的label标签.

activeListBox() public static 方法

为给定的模型属性生成列表框select size="num".

列表框的选择取自模型属性的值.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$items array

数据项列表. 数组键是选项的值, 数组值是相应的选项标签. 数组可以嵌套(即有些数组值也是数组). 对于每个子数组, 将生成一个选项组(optgroup), 其标签是与子数组关联的键. 如果你有一个数据模型列表, 则可以使用 yii\helpers\ArrayHelper::map() 将其转换为上述格式.

Note: 此方法将自动对值和标签将通过自动进行 HTML 编码, 并且标签中的空格也将进行 HTML 编码.

$options array

标签属性的键值对(name-value). 特殊选项:

  • prompt: string, 作为第一个选项显示的提示文本. 从版本 2.0.11 开始, 你可以使用数组来覆盖该值并设置其它标签属性:

    ['text' => 'Please select', 'options' => ['value' => 'none', 'class' => 'prompt', 'label' => 'Select']],
    
  • options: array, 选项标签(option)的属性. 数组键必须是有效的选项值, 数组值是相应选项标签的额外属性. 例如:

    [
        '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 string

生成的列表框select size="num".

activeListInput() protected static 方法

为给定的模型属性生成输入字段的列表.

此方法主要由 activeListBox(), activeRadioList()activeCheckboxList() 调用.

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

输入类型. 可以是listBox, radioList, 或checkBoxList.

$model yii\base\Model

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$items array

用于生成输入字段的数据项. 数组键是输入值, 数组值是相应的标签.

Note: 标签将不会被 HTML 编码, 而值会被 HTML 编码.

$options array

输入列表的(name => config)属性. 受支持的特殊选项取决于$type指定的输入类型.

return string

生成的输入列表.

activePasswordInput() public static 方法

为给定的模型属性生成密码输入域input type="password".

此方法将自动为模型属性生成标签的namevalue属性, 除非它们在$options中明确指定.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

特殊选项:

  • maxlength: integer|boolean, 当maxlength设置为true并且模型属性由字符串验证器验证时, maxlength选项将取值于 yii\validators\StringValidator::$max. 该选项自版本 2.0.3 起可用.
  • placeholder: string|boolean, 当placeholder设置为true时, $model 中的属性标签将被用作占位符(此行为自版本 2.0.14 起可用).
return string

生成的密码输入域input type="password".

activeRadio() public static 方法

为给定的模型属性生成单选按钮输入域input type="radio".

该方法将根据模型属性的值生成标签的checked属性.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value). 有关可接受的属性的详细信息, 请参阅 booleanInput().

return string

生成的单选按钮输入域input type="radio".

activeRadioList() public static 方法

为给定的模型属性生成单选按钮列表input type="radio".

单选按钮列表就像复选框列表, 只不过它只允许单选.

单选按钮的选择取自模型属性的值.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$items array

用于生成单选按钮的数据项. 数组键是选项的值, 数组值是相应的标签.

Note: 标签将不会被 HTML 编码, 而值会被 HTML 编码.

$options array

单选按钮列表容器标签属性的键值对(name-value). 特殊选项:

  • 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是整个列表中单选按钮从0开始的索引; $label是单选按钮的标签; $name是单选按钮的名称; $value是单选按钮的值; $checked是单选按钮的选中状态.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

The generated radio button list

activeTextInput() public static 方法

为给定的模型属性生成文本输入域input type="text".

此方法将自动为模型属性生成标签的namevalue属性, 除非它们在$options中明确指定.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

特殊选项:

  • maxlength: integer|boolean, 当maxlength设置为true并且模型属性由字符串验证器验证时, maxlength选项将取值于 yii\validators\StringValidator::$max. 该选项自版本 2.0.3 起可用.
  • placeholder: string|boolean, 当placeholder设置为true时, $model 中的属性标签将被用作占位符(此行为自版本 2.0.14 起可用).
return string

生成的文本输入域input type="text".

activeTextarea() public static 方法

为给定的模型属性生成多行文本输入域textarea.

模型属性的值将作为多行文本输入域textarea中的内容.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

特殊选项:

  • maxlength: integer|boolean, 当maxlength设置为true并且模型属性由字符串验证器验证时, maxlength选项将取值于 yii\validators\StringValidator::$max. 该选项自版本 2.0.3 起可用.
  • placeholder: string|boolean, 当placeholder设置为true时, $model 中的属性标签将被用作占位符(此行为自版本 2.0.14 起可用).
return string

生成的多行文本输入域textarea.

addCssClass() public static 方法

将一个/几个 CSS 类添加到指定的选项.

如果 CSS 类已经在选项中, 则不会再次添加. 如果给定的选项中的类格式是一个数组, 并且某个类与指定的(字符串)键相同, 则覆盖此类将不起作用.

例如:

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

参见:

public static void addCssClass ( &$options, $class )
$options array

要修改的选项.

$class string|array

要添加的 CSS 类.

addCssStyle() public static 方法

将指定的 CSS 样式添加到 HTML 选项.

如果选项中已经包含了style元素, 则新的样式将与现有的样式合并.

如果一个 CSS 属性同时存在于新旧样式中, 那么如果$overwritetrue, 则旧属性可能会被覆盖.

例如:

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

参见:

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

要修改的 HTML 选项.

$style string|array

新 CSS 样式的字符串(eg. 'width: 100px; height: 200px')或数组(eg. ['width' => '100px', 'height' => '200px']).

$overwrite boolean

如果新样式也包含了同样的 CSS 属性, 是否覆盖现有的 CSS 属性.

beginForm() public static 方法

生成表单form的开始标签.

参见 endForm().

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

表单的提交地址URL. 此参数将由 yii\helpers\Url::to() 处理.

$method string

表单的提交方式, 如post, get, put, delete(不区分大小写).

由于大多数浏览器只支持postget, 如果给出其它方法, 将使用post进行模拟, 并会添加一个包含实际方法类型的隐藏输入.

有关更多详细信息, 请参阅 yii\web\Request::$methodParam.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

特殊选项:

  • csrf: 是否生成包含 CSRF 的隐藏输入. 默认为true.
return string

生成的表单form的开始标签.

beginTag() public static 方法

生成标签的起始标签.

参见:

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

标签名称. 如果$namenullfalse, 则相应的内容将被渲染而不带任何标签.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的开始标签.

booleanInput() protected static 方法 (可用自版本: 2.0.9)

生成布尔输入.

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

输入类型. 可以是radiocheckbox.

$name string

输入域的名称(input标签的name值).

$checked boolean

单选按钮/复选框是否被选中.

$options array

标签属性的键值对(name-value). 特殊选项:

  • uncheck: string, 与复选框的未选择状态相关联的值. 当此属性存在时, 将生成一个隐藏输入域, 这样如果复选框没有被选中并且被提交, 这个属性的值仍然会通过隐藏输入域提交给服务器.
  • label: string, 复选框旁边显示的标签. 它不会被 HTML 编码. 因此, 你可以设置 HTML 代码, 如图像标签img. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击. 当指定此选项时, 该复选框将被label标签括起来.
  • labelOptions: array, label标签的 HTML 属性, 除非设置了label选项, 否则不要设置此选项.

其余选项将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的布尔输入.

button() public static 方法

生成按钮标签button.

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

包含在按钮标签button中的内容. 它不会被 HTML 编码. 因此, 你可以设置 HTML 代码, 如图像标签img. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的按钮标签button.

buttonInput() public static 方法

生成输入按钮input type="button".

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

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的输入按钮input type="button".

checkbox() public static 方法

生成复选框输入域input type="checkbox".

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

输入域的名称(input标签的name值).

$checked boolean

复选框是否被选中.

$options array

标签属性的键值对(name-value). 有关可接受的属性的详细信息, 请参阅 booleanInput().

return string

生成的复选框输入域input type="checkbox".

checkboxList() public static 方法

生成复选框列表input type="checkbox".

复选框列表允许选择多个, 像 listBox(). 因此, 相应的提交值是一个数组.

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

每个复选框的name属性值.

$selection string|array|null

选定的值. 字符型单选或数组多选.

$items array

用于生成复选框的数据项. 数组键是选项的值, 数组值是相应的选项标签.

$options array

复选框列表容器标签属性的键值对(name-value). 特殊选项:

  • 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, 使用 checkbox() 生成复选框标签的选项.
  • item: callable, 回调函数, 可用于自定义与 $items 中单个项目对应的 HTML 代码的生成. 此回调函数的签名必须是:

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

    其中, $index是整个列表中复选框从0开始的索引; $label是复选框的标签; $name是复选框的名称; $value是复选框的值; $checked是复选框的选中状态.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的复选框列表input type="checkbox".

csrfMetaTags() public static 方法

生成包含 CSRF 令牌(token)信息的元标签meta.

参见 yii\web\Request::$enableCsrfValidation.

public static string csrfMetaTags ( )
return string

生成的元标签meta.

cssFile() public static 方法

生成引用外部 CSS 文件的链接标签link.

参见 yii\helpers\Url::to().

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

外部 CSS 文件的 URL. 此参数将由 yii\helpers\Url::to() 处理.

$options array

标签属性的键值对(name-value). 特殊选项:

  • condition: 指定 IE 的条件注释, 例如lt IE 9. 当指定此项时, 生成的link标签将被包含在条件注释中. 这主要用于支持旧版本的 IE 浏览器.
  • noscript: 如果设置为true, link标签将被包含在<noscript>标签中.

其余选项将被渲染为链接标签link的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的链接标签link.

cssStyleFromArray() public static 方法

将 CSS 样式的数组转换为字符串表示形式.

例如:

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

数组形式的 CSS 样式. 数组键是 CSS 属性名称, 数组值是相应的 CSS 属性值.

return string

字符串形式的 CSS 样式. 如果 CSS 样式为空, 则返回null.

cssStyleToArray() public static 方法

将 CSS 样式的字符串转换为数组表示形式.

数组键是 CSS 属性名称, 数组值是相应的 CSS 属性值.

例如:

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

字符串形式的 CSS 样式.

return array

数组形式的 CSS 样式.

decode() public static 方法

将特殊的 HTML 实体解码回相应的字符.

这与 encode() 相反.

参见:

public static string decode ( $content )
$content string

要解码的内容.

return string

解码后的内容.

生成下拉列表select.

public static string dropDownList ( $name, $selection null, $items = [], $options = [] )
$name string

输入域的名称(select标签的name值).

$selection string|array|null

选定的值. 字符型单选或数组多选.

$items array

数据项列表. 数组键是选项的值, 数组值是相应的选项标签. 数组可以嵌套(即有些数组值也是数组). 对于每个子数组, 将生成一个选项组(optgroup), 其标签是与子数组关联的键. 如果你有一个数据模型列表, 则可以使用 yii\helpers\ArrayHelper::map() 将其转换为上述格式.

Note: 此方法将自动对值和标签将通过自动进行 HTML 编码, 并且标签中的空格也将进行 HTML 编码.

$options array

标签属性的键值对(name-value). 特殊选项:

  • prompt: string, 作为第一个选项显示的提示文本. 从版本 2.0.11 开始, 你可以使用数组来覆盖该值并设置其它标签属性:

    ['text' => 'Please select', 'options' => ['value' => 'none', 'class' => 'prompt', 'label' => 'Select']],
    
  • options: array, 选项标签(option)的属性. 数组键必须是有效的选项值, 数组值是相应选项标签的额外属性. 例如:

    [
        'value1' => ['disabled' => true],
        'value2' => ['label' => 'value 2'],
    ];
    
  • groups: array, optgroup标签的属性, 其结构类似于options, 除了数组键表示$items中指定的optgroup标签.
  • encodeSpaces: bool, 是否在选项提示符和选项值中用&nbsp;来编码空格. 默认为false.
  • encode: bool, 是否对选项提示符和选项值字符进行编码. 默认为true. 该选项自版本 2.0.3 起可用.
  • strict: boolean, 如果$selection是以后个数组并且该值是true, 则将对$items的键执行严格比较. 默认为false. 该选项自版本 2.0.37 起可用.

其余选项将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的下拉列表select.

encode() public static 方法

将特殊字符编码为 HTML 实体.

应用程序字符集 将用于编码.

参见:

public static string encode ( $content, $doubleEncode true )
$content string

要编码的内容.

$doubleEncode boolean

是否对$content中的 HTML 实体进一步编码. 如果为false, 则$content中的 HTML 实体将不会被进一步编码.

return string

编码后的内容.

endForm() public static 方法

生成表单form的结束标签.

参见 beginForm().

public static string endForm ( )
return string

生成的表单form的结束标签.

endTag() public static 方法

生成标签的结束标签.

参见:

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

标签名称. 如果$namenullfalse, 则相应的内容将被渲染而不带任何标签.

return string

生成的结束标签.

error() public static 方法

生成包含指定的模型属性的第一个验证错误的标签.

Note: 即使没有验证错误, 此方法仍将返回一个空的错误标记.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value).

这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

特殊选项:

  • tag: 指定标签名称. 如果未设置, 将使用div. 详见 tag().
  • encode: boolean, 如果设置为false, 则错误信息将不会被编码.
  • errorSource: \Closure|callable, 将被调用以获取错误信息的回调函数. 回调的签名必须是:function ($model, $attribute), 并且返回一个字符串. 未设置时, 将调用$model->getFirstError()方法. 该选项自版本 2.0.14 起可用.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的错误标签.

errorSummary() public static 方法

生成验证错误的摘要.

如果没有验证错误, 则仍然会生成一个空的错误摘要标签, 但它将被隐藏.

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

要显示其验证错误的模型.

$options array

标签属性的键值对(name-value). 特殊选项:

  • header: string, 错误摘要的 HTML 标题, 如果未设置, 将使用默认提示字符串.
  • footer: string, 错误摘要的 HTML 页脚, 默认为空字符串.
  • encode: boolean, 如果设置为false, 则不会对错误信息进行编码. 默认:true.
  • showAllErrors: boolean, 如果设置为true, 则会显示每个属性的每个错误信息, 否则仅显示每个属性的第一个错误信息. 默认为false. 该选项自版本 2.0.10 起可用.

其余选项将被渲染为容器标签的属性.

return string

生成的错误摘要.

escapeJsRegularExpression() public static 方法 (可用自版本: 2.0.6)

转义正则表达式以在 JavaScript 中使用.

public static string escapeJsRegularExpression ( $regexp )
$regexp string

要转义的正则表达式.

return string

转义的结果.

fileInput() public static 方法

生成文件上传域input type="file".

使用文件上传域, 应将表单的enctype属性设置为multipart/form-data. 表单提交后, 上传的文件信息可以通过$_FILES[$name] 获得(请参阅 PHP 文档).

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

输入域的名称(input标签的name值).

$value string|null

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的文件上传域input type="file".

getAttributeName() public static 方法

从给定的属性表达式返回实际的属性名称.

属性表达式是以数组索引为前缀和/或后缀的属性名称. 它主要用于表格数据输入和/或数组类型的输入.

以下是一些示例:

  • [0]content 在表格数据输入中用于表示表格输入中的第一个模型的content属性;
  • dates[0] 表示dates属性的第一个数组元素;
  • [0]dates[0] 表示表格输入中第一个模型的dates属性的第一个数组元素.

如果$attribute既没有前缀也没用后缀, 它将被返回而没有任何改变.

public static string getAttributeName ( $attribute )
$attribute string

属性名称或表达式

return string

不带前缀和后缀的属性名称.

throws yii\base\InvalidArgumentException

如果属性名称包含非法(non-word)字符.

getAttributeValue() public static 方法

返回指定属性名称或表达式的值.

对于像[0]dates[0]的属性表达式, 此方法将返回$model->dates[0]的值.

有关属性表达式的更多详细信息, 请参阅 getAttributeName().

如果属性值是 yii\db\ActiveRecordInterface 的实例或者此类实例的数组, 那么将返回 AR 实例的主键值.

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

模型对象.

$attribute string

属性名称或表达式.

return string|array

相应的属性值.

throws yii\base\InvalidArgumentException

如果属性名称包含非法(non-word)字符.

getInputId() public static 方法

为指定的属性名称或表达式生成适当的输入域ID值(inputid值).

该方法将 getInputName() 的结果转换为有效的输入域ID值. 例如, 如果 getInputName() 返回Post[content], 则此方法将返回post-content.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的说明, 请参阅 getAttributeName().

return string

生成的输入域ID值(inputid值).

throws yii\base\InvalidArgumentException

如果属性名称包含非法(non-word)字符.

getInputName() public static 方法

为指定的属性名称或表达式生成适当的输入域名称(inputname值).

此方法生成可用作输入域的名称, 以收集指定属性的用户输入. 该名称根据模型的 表单名称 和给定的属性名称生成. 例如, 如果Post模型的表单名称为Post, 则为content属性生成的输入域名称将是Post[content].

有关属性表达式的说明, 请参阅 getAttributeName().

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

模型对象.

$attribute string

属性名称或表达式.

return string

生成的输入域名称(inputname值).

throws yii\base\InvalidArgumentException

如果属性名称包含非法(non-word)字符.

hiddenInput() public static 方法

生成隐藏输入域input type="hidden".

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

输入域的名称(input标签的name值).

$value string|null

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的隐藏输入域input type="hidden".

img() public static 方法

生成图像标签img.

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

图像的 URL 地址. 此参数将由 yii\helpers\Url::to() 处理.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

自 2.0.12 版本开始, 可以将srcset选项作为数组传递, 其中的键是描述符, 值是 URL. 所有的 URL 将由 yii\helpers\Url::to() 处理.

return string

生成的图像标签img.

input() public static 方法

生成给定类型的输入域标签input.

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

输入域的类型(input标签的type值).

$name string|null

输入域的名称(input标签的name值). 如果为null, 则不会生成name属性.

$value string|null

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的输入域标签input.

jsFile() public static 方法

生成引用外部 JavaScript 文件的脚本标签script.

参见 yii\helpers\Url::to().

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

外部 JavaScript 文件的 URL. 此参数将由 yii\helpers\Url::to() 处理.

$options array

标签属性的键值对(name-value). 特殊选项:

  • condition: 指定 IE 的条件注释, 例如lt IE 9. 当指定此项时, 生成的script标签将被包含在条件注释中. 这主要用于支持旧版本的 IE 浏览器.

其余选项将被渲染为脚本标签script的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

The generated script tag

label() public static 方法

生成label标签.

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

标签文本. 它不会被 HTML 编码. 因此, 你可以设置 HTML 代码, 如图像标签img. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击.

$for string|null

与此label标签关联的 HTML 元素的ID. 如果为null, 则不会生成for属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的label标签.

listBox() public static 方法

生成列表框select size="num".

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

输入域的名称(select标签的name值).

$selection string|array|null

选定的值. 字符型单选或数组多选.

$items array

数据项列表. 数组键是选项的值, 数组值是相应的选项标签. 数组可以嵌套(即有些数组值也是数组). 对于每个子数组, 将生成一个选项组(optgroup), 其标签是与子数组关联的键. 如果你有一个数据模型列表, 则可以使用 yii\helpers\ArrayHelper::map() 将其转换为上述格式.

Note: 此方法将自动对值和标签将通过自动进行 HTML 编码, 并且标签中的空格也将进行 HTML 编码.

$options array

标签属性的键值对(name-value).

特殊选项:

  • prompt: string, 作为第一个选项显示的提示文本. 从版本 2.0.11 开始, 你可以使用数组来覆盖该值并设置其它标签属性:

    ['text' => 'Please select', 'options' => ['value' => 'none', 'class' => 'prompt', 'label' => 'Select']],
    
  • options: array, 选项标签(option)的属性. 数组键必须是有效的选项值, 数组值是相应选项标签的额外属性. 例如:

    [
        '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 string

生成的列表框select size="num".

mailto() public static 方法

生成电子邮件(mailto)超链接a.

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

链接的内容. 它不会被 HTML 编码. 因此, 你可以设置 HTML 代码, 如图像标签img. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击.

$email string|null

电子邮件的地址. 如果值为null, 则第一个参数$text将被视为电子邮件地址并使用.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的电子邮件(mailto)超链接a.

ol() public static 方法

生成有序列表ol.

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

用于生成列表的项目. 每个项目都会生成一个列表项.

Note: 如果未设置$options['encode']或为true, 项目将自动进行 HTML 编码.

$options array

列表ol标签属性的键值对(name-value). 特殊选项:

  • 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 string

生成的有序列表ol. 如果$items为空, 则返回空列表标签.

passwordInput() public static 方法

生成密码输入域input type="password".

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

输入域的名称(input标签的name值).

$value string|null

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的密码输入域input type="password".

radio() public static 方法

生成单选按钮输入域input type="radio".

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

输入域的名称(input标签的name值).

$checked boolean

单选按钮是否被选中.

$options array

标签属性的键值对(name-value). 有关可接受的属性的详细信息, 请参阅 booleanInput().

return string

生成的单选按钮输入域input type="radio".

radioList() public static 方法

生成单选按钮列表input type="radio".

单选按钮列表就像复选框列表, 只不过它只允许单选.

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

每个单选按钮的name属性值.

$selection string|array|null

选定的值. 字符型单选或数组多选.

$items array

用于生成单选按钮的数据项. 数组键是选项的值, 数组值是相应的选项标签.

$options array

单选按钮列表容器标签属性的键值对(name-value). 特殊选项:

  • 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是整个列表中单选按钮从0开始的索引; $label是单选按钮的标签; $name是单选按钮的名称; $value是单选按钮的值; $checked是单选按钮的选中状态.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的单选按钮列表input type="radio".

removeCssClass() public static 方法

从指定的选项中删除一个 CSS 类.

参见 addCssClass().

public static void removeCssClass ( &$options, $class )
$options array

要修改的选项.

$class string|array

要删除的 CSS 类.

removeCssStyle() public static 方法

从 HTML 选项中删除指定的 CSS 样式.

例如:

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

参见 addCssStyle().

public static void removeCssStyle ( &$options, $properties )
$options array

要修改的 HTML 选项.

$properties string|array

要删除的 CSS 属性. 如果要删除单个属性, 则可以使用字符串.

renderSelectOptions() public static 方法

渲染可由 dropDownList()listBox() 使用的选项标签.

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

选定的值. 字符型单选或数组多选.

$items array

数据项列表. 数组键是选项的值, 数组值是相应的选项标签. 数组可以嵌套(即有些数组值也是数组). 对于每个子数组, 将生成一个选项组(optgroup), 其标签是与子数组关联的键. 如果你有一个数据模型列表, 则可以使用 yii\helpers\ArrayHelper::map() 将其转换为上述格式.

Note: 此方法将自动对值和标签将通过自动进行 HTML 编码, 并且标签中的空格也将进行 HTML 编码.

$tagOptions array

传递给 dropDownList()listBox() 调用的$options参数. 此方法将取出这些元素(如果有的话): prompt, optionsgroups. 有关这些元素的说明, 请参阅 dropDownList() 中的更多详细信息.

return string

生成的列表选项.

renderTagAttributes() public static 方法

渲染 HTML 标签的属性.

其值为布尔(boolean)类型的属性将被视为 布尔属性.

其值为null的属性将不会渲染.

属性的值将使用 encode() 进行 HTML 编码.

ariadata属性设置为数组值时会得到特殊处理. 在这些情况下, 数组将被"展开", 并将渲染列表数据属性. 例如, '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 array

要渲染的属性. 属性值将使用 encode() 进行 HTML 编码.

return string

渲染结果. 如果属性不为空, 它们将被渲染成一个带有前导空格的字符串(以便可以直接附加到标签中的标签名称上), 如果没有属性, 则会返回一个空字符串.

resetButton() public static 方法

生成重置按钮标签button type="reset".

public static string resetButton ( $content 'Reset', $options = [] )
$content string

包含在按钮标签button中的内容. 它不会被 HTML 编码. 因此, 你可以设置 HTML 代码, 如图像标签img. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的重置按钮标签button type="reset".

resetInput() public static 方法

生成重置输入按钮input type="reset".

public static string resetInput ( $label 'Reset', $options = [] )
$label string

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value). 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性. 有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的重置输入按钮input type="reset".

script() public static 方法

生成 JS 脚本标签script.

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

JS 脚本的内容.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的 JS 脚本标签script.

setActivePlaceholder() protected static 方法 (可用自版本: 2.0.14)

从模型属性标签生成占位符.

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

模型对象.

$attribute string

属性名称或表达式. 有关属性表达式的格式, 请参阅 getAttributeName().

$options array

标签属性的键值对(name-value). 这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码.

style() public static 方法

生成 CSS 样式标签style.

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

CSS 样式的内容.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的 CSS 样式标签style.

submitButton() public static 方法

生成提交按钮标签button type="submit".

命名表单元素(如提交按钮)时要小心, 根据 jQuery 文档, 有一些可能引起冲突的保留名称, 例如: submit, length, 或method.

public static string submitButton ( $content 'Submit', $options = [] )
$content string

包含在按钮标签button中的内容. 它不会被 HTML 编码. 因此, 你可以设置 HTML 代码, 如图像标签img. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的提交按钮标签button type="submit".

submitInput() public static 方法

生成提交输入按钮input type="submit".

命名表单元素(如提交按钮)时要小心, 根据 jQuery 文档, 有一些可能引起冲突的保留名称, 例如: submit, length, 或method.

public static string submitInput ( $label 'Submit', $options = [] )
$label string

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的提交输入按钮input type="submit".

tag() public static 方法

生成完整的 HTML 标签.

参见:

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

标签名称. 如果$namenullfalse, 则相应的内容将被渲染而不带任何标签.

$content string

包含在开始标签和结束标签之间的内容. 它不会被 HTML 编码. 如果这是来自最终用户, 你应该考虑用 encode() 来防止 XSS 攻击.

$options array

HTML 标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

例如, 当使用['class' => 'my-class', 'target' => '_blank', 'value' => null]时, 会渲染如下所示的 HTML 属性: class="my-class" target="_blank".

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的 HTML 标签.

textInput() public static 方法

生成文本输入域input type="text".

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

输入域的名称(input标签的name值).

$value string|null

输入域的值(input标签的value值). 如果为null, 则不会生成value属性.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

return string

生成的文本输入域input type="text".

textarea() public static 方法

生成多行文本输入域textarea.

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

输入域的名称(textarea标签的name值).

$value string

输入域的值(textarea标签的value值).

Note: 它将使用 encode() 进行 HTML 编码.

$options array

标签属性的键值对(name-value).

这些将被渲染为结果标签的属性. 这些值将使用 encode() 进行 HTML 编码. 如果值为null, 则不会渲染相应的属性.

有关如何渲染属性的详细信息, 请参阅 renderTagAttributes().

特殊选项:

  • doubleEncode: 是否在$value中对 HTML 实体进行双重编码. 如果为false, $value中的 HTML 实体将不会被进一步编码. 此选项自版本 2.0.11 起可用.
return string

生成的多行文本输入域textarea.

ul() public static 方法

生成无序列表ul.

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

用于生成列表的项目. 每个项目都会生成一个列表项.

Note: 如果未设置$options['encode']或为true, 项目将自动进行 HTML 编码.

$options array

列表ul标签属性的键值对(name-value). 特殊选项:

  • 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 string

生成的无序列表ul. 如果$items为空, 则返回空列表标签.