Класс FormHelper
Библиотека помощника для форм.
Автоматическое создание HTML-форм на основе заданных данных.
Постоянные значения
-
stringSECURE_SKIP'skip'
Постоянная, используемая для пропуска процесса проверки безопасности, и не добавляющая поле в хеш или в поля без блокировки.
Краткое описание свойств
- $Html public @property
Cake\View\Helper\HtmlHelper - $Url public @property
Cake\View\Helper\UrlHelper - $_View protected
Cake\View\ViewЭкземпляр View, к которому прикреплен данный помощник.
- $_config protected
arrayКонфигурация во время выполнения.
- $_configInitialized protected
boolУказывает, была ли конфигурация свойств уже настроена со значениями по умолчанию.
- $_context protected
Cake\View\Form\ContextInterface|nullКонтекст текущей формы.
- $_contextFactory protected
Cake\View\Form\ContextFactory|nullФабрика контекста.
- $_defaultConfig protected
arrayКонфигурация по умолчанию для помощника.
- $_defaultWidgets protected
arrayЗначения по умолчанию виджетов.
- $_groupedInputTypes protected
string[]Сгруппированные типы ввода.
- $_helperMap protected
arrayТаблица поиска помощников, используемая для отложенной загрузки объектов помощников.
- $_idPrefix protected
string|nullПрефикс для атрибута id.
- $_idSuffixes protected
string[]Список суффиксов id, используемых в текущем рендеринге.
- $_lastAction protected
stringЗначение атрибута action последней созданной формы. Используется для создания хешей, специфичных для формы/запроса, для защиты от подделки форм.
- $_locator protected
Cake\View\Widget\WidgetLocatorЛокатор для виджетов ввода.
- $_templater protected
Cake\View\StringTemplate|nullЭкземпляр StringTemplate.
- $_valueSources protected
string[]Значения по умолчанию источников.
- $formProtector protected
Cake\Form\FormProtector|nullЗащитник формы.
- $helpers protected
arrayДругие помощники, используемые FormHelper.
- $requestType public
string|nullОпределяет тип создаваемой формы. Устанавливается FormHelper::create().
- $supportedValueSources protected
string[]Поддерживаемые источники, которые могут использоваться для заполнения значений ввода.
Краткое описание методов
-
__call() public
Обработчик отсутствующих методов — реализует различные простые типы ввода. Используется для создания вводов различных типов. Например,
$this->Form->text();создаст<input type="text"/>, а$this->Form->range();создаст<input type="range"/> -
__construct() public
Конструирует виджеты и связывает поставщиков контекста по умолчанию
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__get() public
Лениво загружает помощников.
-
_clearIds() protected
Очистить сохраненные суффиксы идентификаторов.
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
_confirm() protected
Возвращает строку, используемую в качестве обработчика onclick для диалоговых окон подтверждения.
-
_csrfField() protected
Возвращает поле CSRF, если данные запроса присутствуют. Используется для защиты форм в сочетании с CsrfMiddleware.
-
_domId() protected
Генерирует идентификатор, подходящий для использования в атрибуте ID.
-
_extractOption() protected
Извлекает один параметр из массива параметров.
-
_formUrl() protected
Создаёт URL для формы на основе параметров.
-
_getContext() protected
Находит соответствующего поставщика контекста для данных.
-
_getInput() protected
Генерирует элемент ввода.
-
_getLabel() protected
Генерирует метку для ввода.
-
_groupTemplate() protected
Генерирует элемент шаблона группы.
-
_id() protected
Генерирует атрибут ID для элемента.
-
_idSuffix() protected
Генерирует суффикс ID.
-
_initInputField() protected
Устанавливает значения по умолчанию для поля и добавляет поле в хеш безопасности формы. Также добавит класс ошибки, если поле содержит ошибки проверки.
-
_inputContainerTemplate() protected
Генерирует шаблон контейнера ввода.
-
_inputLabel() protected
Генерирует метку для вызова input().
-
_inputType() protected
Возвращает тип ввода, который был угадан для предоставленного имени поля, на основе внутреннего типа, к которому он связан, его имени и переменных, которые можно найти в шаблоне представления.
-
_isDisabled() protected
Определяет, отключено ли поле.
-
_lastAction() protected
Правильно сохраняет URL последнего действия формы.
-
_magicOptions() protected
Магически устанавливает тип опции и соответствующие опции.
-
_optionsOptions() protected
Выбирает переменную, содержащую параметры для поля выбора, если оно присутствует, и устанавливает значение в ключ «options» в массиве параметров.
-
_parseOptions() protected
Генерирует массив параметров ввода.
-
addClass() public
Добавляет заданный класс к параметрам элемента.
-
addContextProvider() public
Добавить новый тип контекста.
-
addWidget() public
Добавить новый виджет в FormHelper.
-
allControls() public
Генерирует набор элементов управления для
$fields. Если $fields пустой, будут использоваться поля текущей модели. -
button() public
Создаёт тег
<button>. -
checkbox() public
Создаёт виджет чекбокса.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
context() public
Получить экземпляр контекста для текущего набора форм.
-
contextFactory() public
Установить фабрику контекста, которую будет использовать помощник.
-
control() public
Генерирует элемент управления формой, включая метку и обертывающий div.
-
controls() public
Генерирует набор элементов управления для
$fields, обернутых в элемент fieldset. -
create() public
Возвращает элемент HTML-формы.
-
createFormProtector() protected
Создать экземпляр FormProtector.
-
date() public
Генерирует тег input с типом "date".
-
dateTime() public
Генерирует тег input с типом "datetime-local".
-
email() public @method
Создаёт элемент ввода типа email.
-
end() public
Закрывает HTML-форму, очищает значения, заданные FormHelper::create(), и записывает скрытые поля ввода, где это необходимо.
-
error() public
Возвращает отформатированное сообщение об ошибке для заданного поля формы, '' если ошибок нет.
-
fieldset() public
Оборачивает набор элементов ввода в fieldset.
-
file() public
Создаёт виджет ввода файла.
-
formatTemplate() public
Форматирует строку шаблона с $data
-
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для данного ключа.
-
getFormProtector() public
Получить экземпляр защитника формы.
-
getSourceValue() public
Получает значение одного поля из доступных источников.
-
getTemplates() public
Получить используемые шаблоны или конкретный шаблон.
-
getValueSources() public
Получить источники значений.
-
getView() public
Получить экземпляр представления, к которому привязан этот помощник.
-
getWidgetLocator() public
Получить используемый локализованный идентификатор виджета помощника.
-
hidden() public
Создаёт скрытое поле ввода.
-
implementedEvents() public
Обработчики событий.
-
initialize() public
Метод обработки конструктора.
-
isFieldError() public
Возвращает true, если для данного поля есть ошибка, иначе false
-
label() public
Возвращает отформатированный элемент LABEL для HTML-форм.
-
month() public
Генерирует тег ввода с типом "month".
-
multiCheckbox() public
Создаёт набор флажков из вариантов.
-
number() public @method
Создаёт поле ввода типа число.
-
password() public @method
Создаёт поле ввода типа пароль.
-
postButton() public
Создаёт тег
<button>с окружающим тегом<form>, который по умолчанию отправляет данные по методу POST. -
postLink() public
Создаёт HTML-ссылку, но обращается к URL с указанным методом (по умолчанию POST). Требуется включенный JavaScript в браузере.
-
radio() public
Создаёт набор виджетов радио.
-
resetTemplates() public
Восстанавливает значения по умолчанию, встроенные в FormHelper.
-
search() public @method
Создаёт поле ввода типа поиск.
-
secure() public
Генерирует скрытое поле с хэш-суммой безопасности, основанной на полях, используемых в форме.
-
select() public
Возвращает отформатированный элемент SELECT.
-
setConfig() public
Устанавливает конфигурацию.
-
setRequiredAndCustomValidity() protected
Установить атрибут required и JS для пользовательской проверки.
-
setTemplates() public
Устанавливает используемые шаблоны.
-
setValueSources() public
Устанавливает источники значений.
-
setWidgetLocator() public
Установить локализатор виджета, который будет использовать помощник.
-
submit() public
Создаёт элемент кнопки отправки. Этот метод сгенерирует элементы
<input />, которые могут быть использованы для отправки и сброса форм с помощью $options. Кнопки отправки изображения могут быть созданы путём предоставления пути к изображению для $caption. -
templater() public
Возвращает экземпляр templater.
-
text() public @method
Создаёт поле ввода типа текст.
-
textarea() public
Создаёт виджет textarea.
-
time() public
Генерирует тег ввода с типом "time".
-
unlockField() public
Добавить в список полей, которые в данный момент разблокированы.
-
validateValueSources() protected
Проверить источники значений.
-
widget() public
Отобразить виджет с заданным именем.
-
year() public
Возвращает элемент SELECT для годов.
Подробное описание методов
__call() public
__call(string $method, array $params): string
Обработчик отсутствующего метода — реализует различные простые типы ввода. Используется для создания вводов различных типов. Например, $this->Form->text(); создаст <input type="text"/>, а $this->Form->range(); создаст <input type="range"/>
Использование
$this->Form->search('User.query', ['value' => 'test']); Создаст элемент ввода:
<input type="search" id="UserQuery" name="User[query]" value="test"/>
Первый аргумент типа ввода всегда должен быть именем поля в формате Model.field. Второй аргумент всегда должен быть массивом атрибутов для элемента ввода.
Параметры
-
string$method Имя метода/тип ввода для создания.
-
array$params Параметры для вызова метода.
Возвращает
stringИсключения
Cake\Core\Exception\CakeExceptionПри отсутствии параметров для вызова метода.
__construct() public
__construct(Cake\View\View $view, array $config = [])
Создает виджеты и связывает поставщики контекста по умолчанию
Параметры
-
Cake\View\View$view Вид, к которому прикрепляется этот помощник.
-
array$config optional Настройки конфигурации для помощника.
__debugInfo() public
__debugInfo(): array
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array__get() public
__get(string $name): Cake\View\Helper|null|void
Лениво загружает помощников.
Параметры
-
string$name Имя свойства, к которому происходит доступ.
Возвращает
Cake\View\Helper|null|void_clearIds() protected
_clearIds(): void
Очищает сохраненные суффиксы ID.
Возвращает
void_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписать существующую конфигурацию
_configRead() protected
_configRead(string|null $key): mixed
Считывает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(string|array $key, mixed $value, bool|string $merge = false): void
Записывает ключ конфигурации.
Параметры
-
string|array$key Ключ для записи.
-
mixed$value Значение для записи.
-
bool|string$merge optional True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_confirm() protected
_confirm(string $okCode, string $cancelCode): string
Возвращает строку, используемую в качестве обработчика onclick для диалоговых окон подтверждения.
Параметры
-
string$okCode Код, выполняемый после выбора 'OK'
-
string$cancelCode Код, выполняемый после выбора 'Отмена'
Возвращает
string_csrfField() protected
_csrfField(): string
Возвращает элемент ввода CSRF, если данные запроса присутствуют. Используется для защиты форм в сочетании с CsrfMiddleware.
Возвращает
string_domId() protected
_domId(string $value): string
Генерирует идентификатор, подходящий для использования в атрибуте ID.
Параметры
-
string$value Значение для преобразования в идентификатор.
Возвращает
string_extractOption() protected
_extractOption(string $name, array $options, mixed $default = null): mixed
Извлекает один параметр из массива параметров.
Параметры
-
string$name Имя параметра для извлечения.
-
array$options Массив параметров для извлечения.
-
mixed$default optional Значение параметра по умолчанию
Возвращает
mixed_formUrl() protected
_formUrl(Cake\View\Form\ContextInterface $context, array $options): string|array
Создает URL для формы на основе параметров.
Параметры
-
Cake\View\Form\ContextInterface$context Объект контекста для использования.
-
array$options Массив параметров из create()
Возвращает
string|array_getContext() protected
_getContext(mixed $data = []): Cake\View\Form\ContextInterface
Находит соответствующего поставщика контекста для данных.
Если ни один тип не может быть сопоставлен, возвращается NullContext.
Параметры
-
mixed$data optional Данные для получения поставщика контекста.
Возвращает
Cake\View\Form\ContextInterfaceИсключения
RuntimeExceptionесли класс контекста не реализует ContextInterface.
_getInput() protected
_getInput(string $fieldName, array $options): string|array
Генерирует элемент ввода.
Параметры
-
string$fieldName Имя поля.
-
array$options Параметры для элемента ввода.
Возвращает
string|array_getLabel() protected
_getLabel(string $fieldName, array $options): string|false
Генерирует метку для элемента ввода.
Параметры
-
string$fieldName Имя поля, для которого генерируется метка.
-
array$options Список параметров.
Возвращает
string|false_groupTemplate() protected
_groupTemplate(array $options): string
Генерирует элемент шаблона группы.
Параметры
-
array$options Параметры для шаблона группы.
Возвращает
string_id() protected
_id(string $name, string $val): string
Генерирует атрибут ID для элемента.
Обеспечивает уникальность ID для заданного набора полей.
Параметры
-
string$name Имя атрибута ID.
-
string$val Значение атрибута ID.
Возвращает
string_idSuffix() protected
_idSuffix(string $val): string
Генерирует суффикс ID.
Обеспечивает уникальность ID для заданного набора полей.
Параметры
-
string$val Значение атрибута ID.
Возвращает
string_initInputField() protected
_initInputField(string $field, array $options = []): array
Устанавливает значения по умолчанию для поля и добавляет поле в хеш безопасности формы. Также добавит класс ошибки, если поле содержит ошибки валидации.
Параметры
-
secure- булево значение, определяющее, следует ли добавлять поле в поля безопасности. Отключение поля с помощью параметраdisabled, также исключит поле из хешированного ключа. -
default- смешанный тип - Значение, которое используется, если в контексте формы нет значения. -
disabled- смешанный тип - либо булево значение, обозначающее состояние отключения, либо строка в численно индексированном значении. -
id- смешанный тип - Еслиtrue, он будет сгенерирован автоматически на основе имени поля.
Этот метод преобразует численно индексированное «disabled» в значение ассоциативного массива. Внутренние компоненты FormHelper ожидают ассоциативные параметры.
Выход этой функции представляет собой более полный набор атрибутов ввода, которые могут быть переданы виджету формы для генерации фактического элемента ввода.
Параметры
-
string$field Имя поля, для которого необходимо инициализировать параметры.
-
array$options необязательный Массив параметров для добавления дополнительных опций.
Возвращает
array_inputContainerTemplate() protected
_inputContainerTemplate(array $options): string
Генерирует шаблон контейнера ввода
Параметры
-
array$options Параметры для шаблона контейнера ввода
Возвращает
string_inputLabel() protected
_inputLabel(string $fieldName, string|array|null $label = null, array $options = []): string
Генерирует метку для вызова input().
$options может содержать хеш с переопределениями id. Эти переопределения будут использованы вместо сгенерированных значений, если они присутствуют.
Параметры
-
string$fieldName Имя поля, для которого необходимо сгенерировать метку.
-
string|array|null$label необязательный Текст метки или массив с атрибутами метки.
-
array$options необязательный Параметры для элемента метки.
Возвращает
string_inputType() protected
_inputType(string $fieldName, array $options): string
Возвращает тип ввода, который был угадан для заданного fieldName на основе внутреннего типа, к которому он привязан, его имени и переменных, которые могут быть найдены в шаблоне представления.
Параметры
-
string$fieldName имя поля, для которого нужно угадать тип
-
array$options переданные в метод input параметры
Возвращает
string_isDisabled() protected
_isDisabled(array $options): bool
Определяет, отключено ли поле.
Параметры
-
array$options Набор параметров.
Возвращает
bool_lastAction() protected
_lastAction(string|array|null $url = null): void
Правильно сохраняет URL последнего действия формы.
Параметры
-
string|array|null$url необязательный URL последней формы.
Возвращает
void_magicOptions() protected
_magicOptions(string $fieldName, array $options, bool $allowOverride): array
Магически устанавливает тип параметра и соответствующие параметры.
Параметры
-
string$fieldName Имя поля, для которого необходимо сгенерировать параметры.
-
array$options Список параметров.
-
bool$allowOverride Разрешить ли этому методу перезаписать ключ «type» в параметрах.
Возвращает
array_optionsOptions() protected
_optionsOptions(string $fieldName, array $options): array
Выбирает переменную, содержащую параметры для поля типа select, если она присутствует, и устанавливает значение в ключ «options» в массиве параметров.
Параметры
-
string$fieldName Имя поля, для которого нужно найти параметры.
-
array$options Список параметров.
Возвращает
array_parseOptions() protected
_parseOptions(string $fieldName, array $options): array
Генерирует массив параметров ввода.
Параметры
-
string$fieldName Имя поля, для которого нужно разобрать параметры.
-
array$options Список параметров.
Возвращает
arrayaddClass() public
addClass(array $options, string $class, string $key = 'class'): array
Добавляет заданный класс к параметрам элемента.
Параметры
-
array$options Массив параметров/атрибутов, к которым нужно добавить класс.
-
string$class Имя добавляемого класса.
-
string$key необязательный Используемый ключ для класса. По умолчанию
'class'.
Возвращает
arrayaddContextProvider() public
addContextProvider(string $type, callable $check): void
Добавляет новый тип контекста.
Типы контекста формы позволяют FormHelper взаимодействовать с поставщиками данных, которые поступают извне CakePHP. Например, если вы хотите использовать альтернативную ORM, такую как Doctrine, вы можете создать и подключить новый класс контекста, чтобы позволить FormHelper читать метаданные из Doctrine.
Параметры
-
string$type Тип контекста. Этот ключ может быть использован для перезаписи существующих поставщиков.
-
callable$check Обратный вызов, который возвращает объект, когда контекст формы является правильного типа.
Возвращает
voidaddWidget() public
addWidget(string $name, arrayCake\View\Widget\WidgetInterface $spec): void
Добавляет новый виджет в FormHelper.
Позволяет добавлять или заменять экземпляры виджетов с помощью пользовательского кода.
Параметры
-
string$name Имя виджета. Например, 'text'.
-
arrayCake\View\Widget\WidgetInterface$spec Либо строка с именем класса, либо объект, реализующий интерфейс WidgetInterface.
Возвращает
voidallControls() public
allControls(array $fields = [], array $options = []): string
Генерирует набор элементов управления для $fields. Если $fields пустой, будут использоваться поля текущей модели.
Вы можете настроить отдельные элементы управления с помощью $fields.
$this->Form->allControls([ 'name' => ['label' => 'custom label'] ]);
Вы можете исключить поля, указав их как false:
$this->Form->allControls(['title' => false]);
В приведенном выше примере для поля title не будет сгенерировано никакого поля.
Параметры
-
array$fields необязательный Массив настроек для полей, которые будут сгенерированы. Этот массив позволяет настроить пользовательские типы, метки или другие параметры.
-
array$options необязательный Массив параметров. Допустимые ключи:
Возвращает
stringСсылки
button() public
button(string $title, array $options = []): string
Создаёт тег <button>.
Параметры:
-
type- Значение для атрибута "type" кнопки. По умолчанию "submit". -
escapeTitle- Кодировать ли HTML-сущности в тексте заголовка кнопки. По умолчанию true. -
escape- Кодировать ли HTML-сущности в атрибутах тега кнопки. По умолчанию true. -
confirm- Сообщение подтверждения, которое будет отображено. Выполнение формы продолжится только после подтверждения.
Параметры
-
string$title Заголовок кнопки. Не кодируется автоматически в HTML-сущности.
-
array$options optional Массив параметров и HTML-атрибутов.
Возвращает
stringСсылки
checkbox() public
checkbox(string $fieldName, array $options = []): string[]|string
Создаёт виджет поля типа checkbox.
Параметры:
-
value- значение чекбокса -
checked- булево значение, указывающее, что данный чекбокс выбран. -
hiddenField- булево значение, указывающее, нужно ли добавлять скрытое поле с значением ''. -
disabled- создать отключённое поле. -
default- Установить значение по умолчанию для чекбокса. Это позволяет устанавливать чекбоксы по умолчанию выбранными, не проверяя данные POST. Соответствующее значение в POST перезапишет значение по умолчанию.
Параметры
-
string$fieldName Имя поля, например, "modelname.fieldname"
-
array$options optional Массив HTML-атрибутов.
Возвращает
string[]|stringСсылки
configShallow() public
configShallow(string|array $key, mixed|null $value = null): $this
Объединяет предоставленный конфиг с существующим. В отличие от config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка конкретного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
string|array$key Ключ для установки или весь массив настроек.
-
mixed|null$value optional Значение для установки.
Возвращает
$thiscontext() public
context(Cake\View\Form\ContextInterface|null $context = null): Cake\View\Form\ContextInterface
Получить экземпляр контекста для текущей формы.
Если активной формы нет, возвращается null.
Параметры
-
Cake\View\Form\ContextInterface|null$context optional Новый контекст при установке или null для получения.
Возвращает
Cake\View\Form\ContextInterfacecontextFactory() public
contextFactory(Cake\View\Form\ContextFactory|null $instance = null, array $contexts = []): Cake\View\Form\ContextFactory
Установить фабрику контекста, которую будет использовать помощник.
Параметры
-
Cake\View\Form\ContextFactory|null$instance optional Экземпляр фабрики контекста для установки.
-
array$contexts optional Массив поставщиков контекста.
Возвращает
Cake\View\Form\ContextFactorycontrol() public
control(string $fieldName, array $options = []): string
Генерирует элемент управления формы, включая метку и обертывающую div.
Параметры
См. каждый метод типа поля для получения дополнительной информации. Любые параметры, которые являются частью $attributes или $options для различных методов type, могут быть включены в $options для control(). Кроме того, любые неизвестные ключи, которые не находятся в списке ниже или не являются частью параметров выбранного типа, будут обрабатываться как обычный HTML-атрибут для сгенерированного поля ввода.
-
type- Вынужденный тип виджета. Например,type => 'select' -
label- либо строка метки, либо массив параметров для метки. См. FormHelper::label(). -
options- Для виджетов, принимающих параметры (например, радио, select). -
error- Управление сообщением об ошибке, которое генерируется. Установитеfalseдля отключения любого вида сообщений об ошибках (ошибки поля и сообщения об ошибках). -
empty- Строка или boolean для включения пустых опций списка выбора. -
nestedInput- Используется с полями checkbox и radio. Установите значение false, чтобы отобразить поля вне элементов метки. Может быть установлено в true для любого поля, чтобы поместить поле в метку. Если вы включите этот параметр для радиокнопок, вам также необходимо изменить шаблонradioWrapperпо умолчанию. -
templates- Шаблоны, которые нужно использовать для этого поля ввода. Все шаблоны будут объединены поверх уже загруженных. Этот параметр может быть либо именем файла в /config, содержащим необходимые шаблоны, либо массивом шаблонов. -
labelOptions- Либоfalseдля отключения метки вокруг вложенных виджетов (например, радио, multicheckbox), либо массив атрибутов для тега метки.selectedбудет добавлен к классам, например,class => 'myclass', когда виджет выбран.
Параметры
-
string$fieldName Должно быть "modelname.fieldname"
-
array$options optional Каждый тип ввода требует разных параметров.
Возвращает
stringСсылки
controls() public
controls(array $fields, array $options = []): string
Генерирует набор элементов управления для $fields, обернутых в элемент fieldset.
Вы можете настроить отдельные элементы управления через $fields.
$this->Form->controls([ 'name' => ['label' => 'custom label'], 'email' ]);
Параметры
-
array$fields Массив полей для генерации. Этот массив позволяет устанавливать пользовательские типы, метки или другие параметры.
-
array$options optional Массив параметров. Допустимые ключи:
Возвращает
stringСсылки
create() public
create(mixed $context = null, array $options = []): string
Возвращает элемент HTML-формы.
Параметры:
-
typeМетод формы по умолчанию автоматически определяется на основе контекста формы. Если метод isCreate() контекста формы возвращает false, будет выполнен запрос PUT. -
methodУстановите атрибут метода формы явно. -
urlURL, на который отправляется форма. Может быть строкой или массивом URL. -
encodingУстановите кодировку accept-charset для формы. По умолчаниюConfigure::read('App.encoding') -
enctypeЯвно задайте кодировку формы. По умолчаниюtype => fileустановитenctypeвmultipart/form-data. -
templatesШаблоны, которые нужно использовать для этой формы. Все шаблоны будут объединены поверх уже загруженных. Этот параметр может быть либо именем файла в /config, содержащим необходимые шаблоны, либо массивом шаблонов. -
contextДополнительные параметры для класса контекста. Например, EntityContext принимает параметр 'table', который позволяет задать конкретный класс Table, на котором должна базироваться форма. -
idPrefixПрефикс для сгенерированных атрибутов ID. -
valueSourcesИсточники, из которых должны считываться значения. См. FormHelper::setValueSources() -
templateVarsПредоставьте переменные шаблона для шаблона formStart.
Параметры
-
mixed$context optional Контекст, для которого определена форма. Может быть экземпляром ContextInterface, сущностью ORM, результатом набора ORM или массивом метаданных. Вы можете использовать
nullдля создания формы без контекста.-
array$options optional Массив HTML-атрибутов и параметров.
Возвращает
stringСсылки
createFormProtector() protected
createFormProtector(array $formTokenData): Cake\Form\FormProtector
Создать экземпляр FormProtector.
Параметры
-
array$formTokenData Данные токена.
Возвращает
Cake\Form\FormProtectordate() public
date(string $fieldName, array $options = []): string
Создать тег ввода типа "date".
Options:
См. параметры dateTime().
Parameters
-
string$fieldName Имя поля.
-
array$options optional Массив параметров или атрибутов HTML.
Returns
stringdateTime() public
dateTime(string $fieldName, array $options = []): string
Создать тег ввода типа "datetime-local".
Options:
-
value|defaultЗначение по умолчанию для поля ввода. Если установлено вtrue, будет использоваться текущее время.
Parameters
-
string$fieldName Имя поля.
-
array$options optional Массив параметров или атрибутов HTML.
Returns
stringemail() public @method
email(string $fieldName, array $options = []): string
Создает поле ввода типа email.
Parameters
-
string$fieldName -
array$options optional
Returns
stringend() public
end(array $secureAttributes = []): string
Закрывает HTML-форму, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, где это необходимо.
Сбрасывает некоторые части состояния, общие для нескольких вызовов FormHelper::create(), к значениям по умолчанию.
Parameters
-
array$secureAttributes optional Защищенные атрибуты, которые будут переданы в качестве атрибутов HTML в скрытые элементы ввода, созданные для компонента Security.
Returns
stringLinks
error() public
error(string $field, string|array|null $text = null, array $options = []): string
Возвращает отформатированное сообщение об ошибке для заданного поля формы, '' если ошибок нет.
Использует шаблоны error, errorList и errorItem. Шаблоны errorList и errorItem используются для форматирования нескольких сообщений об ошибках на поле.
Options:
-
escapeлогическое значение - Необходимо ли экранировать содержимое ошибки с помощью HTML.
Parameters
-
string$field Имя поля, например "modelname.fieldname"
-
string|array|null$text optional Сообщение об ошибке в виде строки или массива сообщений. Если это массив, он должен быть хешем имен ключей => сообщения.
-
array$options optional См. выше.
Returns
stringLinks
fieldset() public
fieldset(string $fields = '', array $options = []): string
Оборачивает набор полей ввода в поле fieldset
Parameters
-
string$fields optional Поля ввода формы, которые нужно обернуть в fieldset
-
array$options optional Массив параметров. Допустимые ключи:
Returns
stringfile() public
file(string $fieldName, array $options = []): string
Создает элемент управления для загрузки файлов.
Parameters
-
string$fieldName Имя поля в формате "modelname.fieldname"
-
array$options optional Массив атрибутов HTML.
Returns
stringLinks
formatTemplate() public
formatTemplate(string $name, array $data): string
Форматирует строку шаблона с помощью $data
Parameters
-
string$name Имя шаблона.
-
array$data Данные для вставки.
Returns
stringgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Usage
Чтение всей конфигурации:
$this->getConfig();
Чтение конкретного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Parameters
-
string|null$key optional Ключ для получения или null для всей конфигурации.
-
mixed$default optional Возвращаемое значение, когда ключ не существует.
Returns
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для этого конкретного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Parameters
-
string$key Ключ для получения.
Returns
mixedThrows
InvalidArgumentExceptiongetFormProtector() public
getFormProtector(): Cake\Form\FormProtector
Получить экземпляр защиты формы.
Returns
Cake\Form\FormProtectorThrows
Cake\Core\Exception\CakeExceptiongetSourceValue() public
getSourceValue(string $fieldname, array $options = []): mixed
Получает одно значение поля из доступных источников.
Parameters
-
string$fieldname Имя поля, для которого нужно получить значение.
-
array$options optional Параметры, содержащие значения по умолчанию.
Returns
mixedgetTemplates() public
getTemplates(string|null $template = null): string|array
Получает шаблоны для использования или конкретный шаблон.
Parameters
-
string|null$template optional Строка для чтения конкретного шаблона, null для всех.
Returns
string|arraygetValueSources() public
getValueSources(): string[]
Получает источники значений.
Возвращает список, но как минимум один элемент, допустимых источников, таких как: 'context', 'data' и 'query'.
Returns
string[]getView() public
getView(): Cake\View\View
Получить экземпляр представления, к которому привязан этот помощник.
Returns
Cake\View\ViewgetWidgetLocator() public
getWidgetLocator(): Cake\View\Widget\WidgetLocator
Получить локатор виджетов, используемый в данный момент помощником.
Returns
Cake\View\Widget\WidgetLocatorhidden() public
hidden(string $fieldName, array $options = []): string
Создает скрытое поле ввода.
Parameters
-
string$fieldName Имя поля в формате "modelname.fieldname"
-
array$options optional Массив атрибутов HTML.
Returns
stringLinks
implementedEvents() public
implementedEvents(): array
Обработчики событий.
Определяя один из методов обратного вызова, предполагается, что помощник заинтересован в соответствующем событии.
Переопределите этот метод, если вам нужно добавить нестандартные обработчики событий. Или если вы хотите, чтобы помощники слушали нестандартные события.
Возвращает
arrayinitialize() public
initialize(array $config): void
Метод-обработчик конструктора.
Реализуйте этот метод, чтобы не пришлось переписывать конструктор и вызывать родительский.
Параметры
-
array$config Настройки конфигурации, предоставленные этому помощнику.
Возвращает
voidisFieldError() public
isFieldError(string $field): bool
Возвращает true, если для данного поля есть ошибка, в противном случае false
Параметры
-
string$field Должно быть «имя_модели.имя_поля»
Возвращает
boolСсылки
label() public
label(string $fieldName, string|null $text = null, array $options = []): string
Возвращает отформатированный элемент LABEL для HTML-форм.
Автоматически сгенерирует атрибут for , если он не задан.
Параметры
-
for- Установите атрибут for, если он не определен, атрибут for будет сгенерирован из параметра $fieldName с помощью FormHelper::_domId(). -
escape- Установите вfalse, чтобы отключить экранирование текста метки. По умолчаниюtrue.
Примеры:
Текст и атрибут for генерируются на основе имени поля
echo $this->Form->label('published');
<label for="PostPublished">Published</label> Пользовательский текст:
echo $this->Form->label('published', 'Publish');
<label for="published">Publish</label> Пользовательские атрибуты:
echo $this->Form->label('published', 'Publish', [
'for' => 'post-publish'
]);
<label for="post-publish">Publish</label> Вложение тега input:
echo $this->Form->label('published', 'Publish', [
'for' => 'published',
'input' => $this->text('published'),
]);
<label for="post-publish">Publish <input type="text" name="published"></label> Если вы хотите вложить теги input в метки, вам необходимо изменить шаблоны по умолчанию.
Параметры
-
string$fieldName Должно быть «имя_модели.имя_поля»
-
string|null$text optional Текст, который будет отображаться в поле метки. Если $text не определен, текст будет извлечён из имени поля.
-
array$options optional Массив HTML-атрибутов.
Возвращает
stringСсылки
month() public
month(string $fieldName, array $options = []): string
Генерирует тег input с типом "month".
Параметры:
См. параметры dateTime().
Параметры
-
string$fieldName Имя поля.
-
array$options optional Массив параметров или HTML-атрибутов.
Возвращает
stringmultiCheckbox() public
multiCheckbox(string $fieldName, iterable $options, array $attributes = []): string
Создает набор чекбоксов из параметров.
Параметры
-
escape- Если true, содержимое параметров будет закодировано в HTML-сущности. По умолчанию true. -
valВыбранное значение входных данных. -
class- При использовании нескольких = чекбоксов имя класса, применяемое к div. По умолчанию 'checkbox'. -
disabled- Управление атрибутом disabled. При создании чекбоксовtrueотключит все чекбоксы. Вы также можете установить disabled на список значений, которые вы хотите отключить при создании чекбоксов. -
hiddenField- Установите в false, чтобы удалить скрытое поле, которое гарантирует отправку значения. -
label- Либоfalseдля отключения метки вокруг виджета, либо массив атрибутов для тега label.selectedбудет добавлен к любым классам, например'class' => 'myclass'когда виджет выбран.
Может использоваться вместо выпадающего списка с атрибутом multiple.
Параметры
-
string$fieldName Атрибут имени SELECT.
-
iterable$options Массив элементов OPTION (в виде пар 'значение'=>'Текст'), используемых в элементе checkboxes.
-
array$attributes optional HTML-атрибуты элемента select.
Возвращает
stringСм. также
number() public @method
number(string $fieldName, array $options = []): string
Создает входные данные типа число.
Параметры
-
string$fieldName -
array$options optional
Возвращает
stringpassword() public @method
password(string $fieldName, array $options = []): string
Создает входные данные типа пароль.
Параметры
-
string$fieldName -
array$options optional
Возвращает
stringpostButton() public
postButton(string $title, string|array $url, array $options = []): string
Создает тег <button> с окружающим тегом <form>, который по умолчанию отправляет данные по POST.
Этот метод создает элемент <form>. Поэтому не используйте этот метод в уже открытой форме. Вместо этого используйте FormHelper::submit() или FormHelper::button() для создания кнопок внутри открытых форм.
Параметры:
-
data- Массив с парами ключ/значение для передачи в скрытые поля input -
method- Метод запроса для использования. Установите в 'delete' или другие для имитации HTTP/1.1 DELETE (или других) запросов. По умолчанию 'post'. -
form- Массив с любыми параметрами, которые может принимать FormHelper::create() - Другие параметры такие же, как и в методе button.
-
confirm- Сообщение подтверждения для отображения. Выполнение формы будет продолжаться только при подтверждении.
Параметры
-
string$title Подпись кнопки. Не кодируется автоматически в HTML.
-
string|array$url URL в виде строки или массива
-
array$options optional Массив параметров и HTML-атрибутов.
Возвращает
stringСсылки
postLink() public
postLink(string $title, string|array|null $url = null, array $options = []): string
Создаёт HTML-ссылку, но обращается к URL с указанным методом (по умолчанию POST). Требует включённого JavaScript в браузере.
Этот метод создаёт элемент <form>. Если вы хотите использовать этот метод внутри существующей формы, вы должны использовать опцию block, чтобы новая форма была помещена в блок представления, который может быть отображён вне основной формы.
Если всё, что вам нужно, это кнопка для отправки формы, используйте FormHelper::button() или FormHelper::submit().
Параметры:
-
data- Массив с парами ключ/значение для передачи в скрытые поля input -
method- Метод запроса для использования. Установите в 'delete', чтобы имитировать HTTP/1.1 DELETE запрос. По умолчанию 'post'. -
confirm- Сообщение подтверждения для отображения. Выполнение формы будет продолжено только после подтверждения. -
block- Установите в true, чтобы добавить форму в блок представления "postLink", или укажите имя пользовательского блока. - Другие параметры такие же, как в методе HtmlHelper::link().
- Опция
onclickбудет заменена.
Параметры
-
string$title Содержимое, которое будет заключено в теги .
-
string|array|null$url optional Cake-относительный URL или массив параметров URL, или внешний URL (начинается с http://)
-
array$options optional Массив HTML-атрибутов.
Возвращает
stringСсылки
radio() public
radio(string $fieldName, iterable $options = [], array $attributes = []): string
Создаёт набор радиокнопок.
Атрибуты:
-
value- Указывает значение, когда эта радиокнопка выбрана. -
label- Либоfalseдля отключения метки вокруг виджета, либо массив атрибутов для тега метки.selectedбудут добавлены ко всем классам, например,'class' => 'myclass', где виджет выбран. -
hiddenField- Булево значение, указывающее, нужно ли включать скрытый ввод с значением '' в результаты radio(). Это полезно для создания наборов радиокнопок, которые не являются непрерывными. -
disabled- Установите вtrueилиdisabledдля отключения всех радиокнопок. Используйте массив значений для отключения определённых радиокнопок. -
empty- Установите вtrueдля создания ввода со значением '' в качестве первого варианта. Когдаtrueметка радиокнопки будет 'пустой'. Установите это значение в строку, чтобы управлять значением метки.
Параметры
-
string$fieldName Имя поля, например, "modelname.fieldname"
-
iterable$options optional Массив опций радиокнопок.
-
array$attributes optional Массив атрибутов.
Возвращает
stringСсылки
resetTemplates() public
resetTemplates(): void
Восстанавливает значения по умолчанию, встроенные в FormHelper.
Этот метод не сбросит шаблоны, установленные в пользовательских виджетах.
Возвращает
voidsearch() public @method
search(string $fieldName, array $options = []): string
Создаёт элемент ввода типа search.
Параметры
-
string$fieldName -
array$options optional
Возвращает
stringsecure() public
secure(array $fields = [], array $secureAttributes = []): string
Генерирует скрытое поле с хэшем безопасности, основанным на полях, используемых в форме.
Если установлен $secureAttributes, эти HTML-атрибуты будут объединены с тегами скрытого ввода, сгенерированными для компонента Security. Это особенно полезно для установки HTML5-атрибутов, таких как 'form'.
Параметры
-
array$fields optional Если задано, определяет список полей, которые должны быть добавлены в FormProtector для генерации хэша.
-
array$secureAttributes optional будут переданы в качестве HTML-атрибутов в элементы скрытого ввода, сгенерированные для компонента Security.
Возвращает
stringselect() public
select(string $fieldName, iterable $options = [], array $attributes = []): string
Возвращает отформатированный элемент SELECT.
Атрибуты:
-
multiple- отображает поле выбора с множественным выбором. Если установлено в 'checkbox', вместо этого будут созданы несколько флажков. -
empty- Если true, отображается пустой элемент выбора. Если строка, эта строка отображается в качестве пустого элемента. -
escape- Если true, содержимое элементов будет закодировано с помощью HTML-сущностей. По умолчанию true. -
val- Выбранное значение поля ввода. -
disabled- Управляет атрибутом disabled. При создании поля выбора, установите в true, чтобы отключить поле выбора. Установите в массив, чтобы отключить определённые элементы выбора.
Использование опций
Простой массив создаст стандартные элементы выбора:
$options = [1 => 'one', 2 => 'two'];
$this->Form->select('Model.field', $options)); В то время как вложенный массив опций создаст группы с опциями внутри них.
$options = [
1 => 'bill',
'fred' => [
2 => 'fred',
3 => 'fred jr.'
]
];
$this->Form->select('Model.field', $options); Если у вас несколько опций, которые должны иметь одинаковое значение атрибута value, вы можете использовать массив массивов для его выражения:
$options = [
['text' => 'United states', 'value' => 'USA'],
['text' => 'USA', 'value' => 'USA'],
]; Параметры
-
string$fieldName Атрибут name элемента SELECT
-
iterable$options optional Массив элементов OPTION (в виде пар 'значение'=>'Текст'), которые будут использоваться в элементе SELECT
-
array$attributes optional HTML-атрибуты элемента выбора.
Возвращает
stringСм. также
Ссылки
setConfig() public
setConfig(string|array $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка определённого значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
string|array$key Ключ для установки, или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Слияние или перезапись существующей конфигурации рекурсивно, по умолчанию true.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
setRequiredAndCustomValidity() protected
setRequiredAndCustomValidity(string $fieldName, array $options): array
Установка атрибута required и пользовательской проверки по JS.
Параметры
-
string$fieldName Имя поля для генерации опций.
-
array$options Список опций.
Возвращает
arraysetTemplates() public
setTemplates(string[] $templates): $this
Устанавливает используемые шаблоны.
Параметры
-
string[]$templates Добавляемые шаблоны.
Возвращает
$thissetValueSources() public
setValueSources(string|string[] $sources): $this
Устанавливает источники значений.
Вы должны предоставить один или несколько допустимых источников в виде списка строк. Порядок определяет приоритет.
Параметры
-
string|string[]$sources Строка или список строк, определяющих источник.
Возвращает
$thisИсключения
InvalidArgumentExceptionЕсли список источников содержит недопустимое значение.
См. также
setWidgetLocator() public
setWidgetLocator(Cake\View\Widget\WidgetLocator $instance): $this
Устанавливает локатор виджета, который будет использовать помощник.
Параметры
-
Cake\View\Widget\WidgetLocator$instance Экземпляр локатора для установки.
Возвращает
$thissubmit() public
submit(string|null $caption = null, array $options = []): string
Создаёт элемент кнопки отправки. Этот метод сгенерирует элементы <input /> которые могут использоваться для отправки и сброса форм, используя $options. Кнопки изображения можно создать, указав путь к изображению для $caption.
Опции
-
type- Установите в 'reset' для элементов сброса. По умолчанию 'submit' -
templateVars- Дополнительные переменные шаблона для элемента ввода и его контейнера. - Другие атрибуты будут назначены элементу ввода.
Параметры
-
string|null$caption optional Текст метки кнопки ИЛИ если строка содержит :// или расширение .jpg, .jpe, .jpeg, .gif, .png, используется изображение, если расширение существует, И первый символ /, изображение относительно webroot, ИЛИ если первый символ не /, изображение относительно webroot/img.
-
array$options optional Массив опций. См. выше.
Возвращает
stringСсылки
templater() public
templater(): Cake\View\StringTemplate
Возвращает экземпляр templater.
Возвращает
Cake\View\StringTemplatetext() public @method
text(string $fieldName, array $options = []): string
Создаёт поле ввода типа текст.
Параметры
-
string$fieldName -
array$options optional
Возвращаемое значение
stringtextarea() public
textarea(string $fieldName, array $options = []): string
Создаёт виджет textarea.
Параметры:
-
escape- Нужно ли экранировать содержимое textarea. По умолчанию true.
Параметры
-
string$fieldName Имя поля в формате "название_модели.название_поля"
-
array$options optional Массив HTML атрибутов и дополнительных опций.
Возвращаемое значение
stringСсылки
time() public
time(string $fieldName, array $options = []): string
Генерирует тег ввода типа "time".
Параметры:
См. параметры dateTime().
Параметры
-
string$fieldName Имя поля.
-
array$options optional Массив опций или HTML атрибутов.
Возвращаемое значение
stringunlockField() public
unlockField(string $name): $this
Добавляет поле в список разблокированных полей.
Разблокированные поля не включаются в хеш защиты формы.
Параметры
-
string$name Имя поля через точки.
Возвращаемое значение
$thisvalidateValueSources() protected
validateValueSources(string[] $sources): void
Проверка источников значений.
Параметры
-
string[]$sources Список строк, идентифицирующих источник.
Возвращаемое значение
voidИсключения
InvalidArgumentExceptionЕсли список источников содержит недопустимое значение.
widget() public
widget(string $name, array $data = []): string
Отображает виджет с указанным именем.
Это метод низкого уровня. Для встроенных виджетов следует использовать методы text, hidden, и radio. Если используются дополнительные виджеты, используйте этот метод для отображения виджета без метки или обертывающего div.
Параметры
-
string$name Имя виджета, например 'text'.
-
array$data optional Данные для отображения.
Возвращаемое значение
stringyear() public
year(string $fieldName, array $options = []): string
Возвращает элемент SELECT для выбора года.
Атрибуты:
-
empty- Если true, отображается пустая опция select. Если строка, эта строка отображается как пустой элемент. -
order- Порядок значений года в опциях select. Возможные значения 'asc', 'desc'. По умолчанию 'desc' -
valueВыбранное значение ввода. -
maxМаксимальный год, который должен отображаться в элементе select. -
minМинимальный год, который должен отображаться в элементе select.
Параметры
-
string$fieldName Имя поля.
-
array$options optional Опции и атрибуты для элементов select.
Возвращаемое значение
stringСсылки
Подробное описание свойств
$Html public @property
Тип
Cake\View\Helper\HtmlHelper$Url public @property
Тип
Cake\View\Helper\UrlHelper$_View protected
Экземпляр View, к которому прикреплен этот помощник
Тип
Cake\View\View$_config protected
Конфигурация выполнения
Тип
array$_configInitialized protected
Указатель, был ли объект config уже настроен по умолчанию
Тип
bool$_context protected
Контекст для текущей формы.
Тип
Cake\View\Form\ContextInterface|null$_contextFactory protected
Фабрика контекста.
Тип
Cake\View\Form\ContextFactory|null$_defaultConfig protected
Конфигурация по умолчанию для помощника.
Тип
array$_defaultWidgets protected
Виджеты по умолчанию
Тип
array$_groupedInputTypes protected
Сгруппированные типы ввода.
Тип
string[]$_helperMap protected
Таблица поиска помощников, используемая для ленивой загрузки объектов помощников.
Тип
array$_idPrefix protected
Префикс для атрибута id.
Тип
string|null$_idSuffixes protected
Список суффиксов id, используемых в текущем рендеринге.
Тип
string[]$_lastAction protected
Значение атрибута action последней созданной формы. Используется для создания форм/запросов, специфичных хешей для защиты от подделки форм.
Тип
string$_locator protected
Локатор для виджетов ввода.
Тип
Cake\View\Widget\WidgetLocator$_templater protected
Экземпляр StringTemplate.
Тип
Cake\View\StringTemplate|null$_valueSources protected
Источники по умолчанию.
Тип
string[]$formProtector protected
Защитник форм
Тип
Cake\Form\FormProtector|null$helpers protected
Другие помощники, используемые FormHelper
Тип
array$requestType public
Определяет тип создаваемой формы. Устанавливается методом FormHelper::create().
Тип
string|null$supportedValueSources protected
Поддерживаемые источники, которые могут быть использованы для заполнения значений ввода.
context - Соответствует экземплярам ContextInterface. data - Соответствует данным запроса (POST/PUT). query - Соответствует строке запроса.
Тип
string[]
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.View.Helper.FormHelper.html