CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • BreadcrumbsHelper
  • FlashHelper
  • FormHelper
  • HtmlHelper
  • NumberHelper
  • PaginatorHelper
  • RssHelper
  • SessionHelper
  • TextHelper
  • TimeHelper
  • UrlHelper

Traits

  • IdGeneratorTrait
  • SecureFieldTokenTrait

Class FormHelper

Form helper library.

Automatic generation of HTML FORMs from given data.

Cake\View\Helper implements Cake\Event\EventListenerInterface uses Cake\Core\InstanceConfigTrait
Extended by Cake\View\Helper\FormHelper uses Cake\View\Helper\IdGeneratorTrait , Cake\View\Helper\SecureFieldTokenTrait , Cake\View\StringTemplateTrait
Namespace: Cake\View\Helper
Link: https://book.cakephp.org/3.0/en/views/helpers/form.html
Location: View/Helper/FormHelper.php

Constants summary

  • string
    SECURE_SKIP ¶
    'skip'

Properties summary

  • $_context protected
    Cake\View\Form\ContextInterface|null
    Context for the current form.
  • $_contextFactory protected
    Cake\View\Form\ContextFactory
    Context factory.
  • $_datetimeOptions protected
    array
    Special options used for datetime inputs.
  • $_datetimeParts protected
    array
    The various pickers that make up a datetime picker.
  • $_defaultConfig protected
    array
    Default config for the helper.
  • $_defaultWidgets protected
    array
    Default widgets
  • $_groupedInputTypes protected
    string[]
    Grouped input types.
  • $_lastAction protected
    string

    The action attribute value of the last created form. Used to make form/request specific hashes for SecurityComponent.

  • $_locator protected
    Cake\View\Widget\WidgetLocator
    Locator for input widgets.
  • $_unlockedFields protected
    string[]

    An array of field names that have been excluded from the Token hash used by SecurityComponent's validatePost method

  • $_valueSources protected
    string[]
    The sources to be used when retrieving prefilled input values.
  • $fields public
    array
    List of fields created, used with secure forms.
  • $helpers public
    array
    Other helpers used by FormHelper
  • $requestType public
    string|null
    Defines the type of form being created. Set by FormHelper::create().

Magic properties summary

  • $Html public
    Cake\View\Helper\HtmlHelper
  • $Url public
    Cake\View\Helper\UrlHelper

Inherited Properties

  • _View, _helperMap, fieldset, tags _config, _configInitialized _idPrefix, _idSuffixes _templater

Method Summary

  • __call() public

    Missing method handler - implements various simple input types. Is used to create inputs of various types. e.g. $this->Form->text(); will create <input type="text" /> while $this->Form->range(); will create <input type="range" />

  • __construct() public
    Construct the widgets and binds the default context providers
  • _csrfField() protected

    Return a CSRF input if the request data is present. Used to secure forms in conjunction with CsrfComponent & SecurityComponent

  • _datetimeOptions() protected
    Helper method for converting from FormHelper options data to widget format.
  • _extractOption() protected
    Extracts a single option from an options array.
  • _formUrl() protected
    Create the URL for a form based on the options.
  • _getContext() protected
    Find the matching context provider for the data.
  • _getInput() protected
    Generates an input element
  • _getLabel() protected
    Generate label for input
  • _groupTemplate() protected
    Generates an group template element
  • _initInputField() protected

    Sets field defaults and adds field to form security input hash. Will also add the error class if the field contains validation errors.

  • _inputContainerTemplate() protected
    Generates an input container template
  • _inputLabel() protected
    Generate a label for an input() call.
  • _inputType() protected

    Returns the input type that was guessed for the provided fieldName, based on the internal type it is associated too, its name and the variables that can be found in the view template

  • _isDisabled() protected
    Determine if a field is disabled.
  • _lastAction() protected
    Correctly store the last created form action URL.
  • _magicOptions() protected
    Magically set option type and corresponding options
  • _optionsOptions() protected

    Selects the variable containing the options for a select field if present, and sets the value to the 'options' key in the options array.

  • _parseOptions() protected
    Generates input options array
  • _secure() protected

    Determine which fields of a form should be used for hash. Populates $this->fields

  • _secureFieldName() protected
    Get the field name for use with _secure().
  • _singleDatetime() protected
    Helper method for the various single datetime component methods.
  • addContextProvider() public
    Add a new context type.
  • addWidget() public
    Add a new widget to FormHelper.
  • allControls() public

    Generate a set of controls for $fields. If $fields is empty the fields of current model will be used.

  • allInputs() public deprecated

    Generate a set of controls for $fields. If $fields is empty the fields of current model will be used.

  • button() public
    Creates a <button> tag.
  • checkbox() public
    Creates a checkbox input widget.
  • context() public
    Get the context instance for the current form set.
  • contextFactory() public
    Set the context factory the helper will use.
  • control() public
    Generates a form control element complete with label and wrapper div.
  • controls() public
    Generate a set of controls for $fields wrapped in a fieldset element.
  • create() public
    Returns an HTML form element.
  • date() public
    Generate date inputs.
  • dateTime() public
    Returns a set of SELECT elements for a full datetime setup: day, month and year, and then time.
  • day() public
    Returns a SELECT element for days.
  • end() public

    Closes an HTML form, cleans up values set by FormHelper::create(), and writes hidden input fields where appropriate.

  • error() public
    Returns a formatted error message for given form field, '' if no errors.
  • fieldset() public
    Wrap a set of inputs in a fieldset
  • file() public
    Creates file input widget.
  • getSourceValue() public
    Gets a single field value from the sources available.
  • getValueSources() public
    Gets the value sources.
  • getWidgetLocator() public
    Get the widget locator currently used by the helper.
  • hidden() public
    Creates a hidden input field.
  • hour() public
    Returns a SELECT element for hours.
  • implementedEvents() public
    Event listeners.
  • input() public deprecated
    Generates a form control element complete with label and wrapper div.
  • inputs() public deprecated
    Generate a set of controls for $fields wrapped in a fieldset element.
  • isFieldError() public
    Returns true if there is an error for the given field, otherwise false
  • label() public
    Returns a formatted LABEL element for HTML forms.
  • meridian() public
    Returns a SELECT element for AM or PM.
  • minute() public
    Returns a SELECT element for minutes.
  • month() public
    Returns a SELECT element for months.
  • multiCheckbox() public
    Creates a set of checkboxes out of options.
  • postButton() public
    Create a <button> tag with a surrounding <form> that submits via POST as default.
  • postLink() public

    Creates an HTML link, but access the URL using the method you specify (defaults to POST). Requires javascript to be enabled in browser.

  • radio() public
    Creates a set of radio widgets.
  • resetTemplates() public
    Restores the default values built into FormHelper.
  • secure() public

    Generates a hidden field with a security hash based on the fields used in the form.

  • select() public
    Returns a formatted SELECT element.
  • setValueSources() public
    Sets the value sources.
  • setWidgetLocator() public
    Set the widget locator the helper will use.
  • submit() public

    Creates a submit button element. This method will generate <input /> elements that can be used to submit, and reset forms by using $options. image submits can be created by supplying an image path for $caption.

  • textarea() public
    Creates a textarea widget.
  • time() public
    Generate time inputs.
  • unlockField() public

    Add to or get the list of fields that are currently unlocked. Unlocked fields are not included in the field hash used by SecurityComponent unlocking a field once its been added to the list of secured fields will remove it from the list of fields.

  • widget() public
    Render a named widget.
  • widgetRegistry() public deprecated
    Set the widget registry the helper will use.
  • year() public
    Returns a SELECT element for years

Method Detail

__call() public ¶

__call( string $method , array $params )

Missing method handler - implements various simple input types. Is used to create inputs of various types. e.g. $this->Form->text(); will create <input type="text" /> while $this->Form->range(); will create <input type="range" />

Usage

$this->Form->search('User.query', ['value' => 'test']);

Will make an input like:

<input type="search" id="UserQuery" name="User[query]" value="test" />

The first argument to an input type should always be the fieldname, in Model.field format. The second argument should always be an array of attributes for the input.

Parameters
string $method
Method name / input type to make.
array $params
Parameters for the method call
Returns
string
Formatted input method.
Throws
Cake\Core\Exception\Exception
When there are no params for the method call.
Overrides
Cake\View\Helper::__call()

__construct() public ¶

__construct( Cake\View\View $View , array $config = [] )

Construct the widgets and binds the default context providers

Parameters
Cake\View\View $View
The View this helper is being attached to.
array $config optional []
Configuration settings for the helper.
Overrides
Cake\View\Helper::__construct()

_csrfField() protected ¶

_csrfField( )

Return a CSRF input if the request data is present. Used to secure forms in conjunction with CsrfComponent & SecurityComponent

Returns
string

_datetimeOptions() protected ¶

_datetimeOptions( array $options )

Helper method for converting from FormHelper options data to widget format.

Parameters
array $options
Options to convert.
Returns
array
Converted options.

_extractOption() protected ¶

_extractOption( string $name , array $options , mixed $default = null )

Extracts a single option from an options array.

Parameters
string $name
The name of the option to pull out.
array $options
The array of options you want to extract.
mixed $default optional null
The default option value
Returns
mixed
the contents of the option or default

_formUrl() protected ¶

_formUrl( Cake\View\Form\ContextInterface $context , array $options )

Create the URL for a form based on the options.

Parameters
Cake\View\Form\ContextInterface $context
The context object to use.
array $options
An array of options from create()
Returns
string|array
The action attribute for the form.

_getContext() protected ¶

_getContext( mixed $data = [] )

Find the matching context provider for the data.

If no type can be matched a NullContext will be returned.

Parameters
mixed $data optional []
The data to get a context provider for.
Returns
Cake\View\Form\ContextInterface
Context provider.
Throws
RuntimeException

when the context class does not implement the ContextInterface.


_getInput() protected ¶

_getInput( string $fieldName , array $options )

Generates an input element

Parameters
string $fieldName
the field name
array $options
The options for the input element
Returns
string
The generated input element

_getLabel() protected ¶

_getLabel( string $fieldName , array $options )

Generate label for input

Parameters
string $fieldName
The name of the field to generate label for.
array $options
Options list.
Returns
boolean|string
false or Generated label element

_groupTemplate() protected ¶

_groupTemplate( array $options )

Generates an group template element

Parameters
array $options
The options for group template
Returns
string
The generated group template

_initInputField() protected ¶

_initInputField( string $field , array $options = [] )

Sets field defaults and adds field to form security input hash. Will also add the error class if the field contains validation errors.

Options

  • secure - boolean whether or not the field should be added to the security fields. Disabling the field using the disabled option, will also omit the field from being part of the hashed key.
  • default - mixed - The value to use if there is no value in the form's context.
  • disabled - mixed - Either a boolean indicating disabled state, or the string in a numerically indexed value.
  • id - mixed - If true it will be auto generated based on field name.

This method will convert a numerically indexed 'disabled' into an associative array value. FormHelper's internals expect associative options.

The output of this function is a more complete set of input attributes that can be passed to a form widget to generate the actual input.

Parameters
string $field
Name of the field to initialize options for.
array $options optional []
Array of options to append options into.
Returns
array
Array of options for the input.

_inputContainerTemplate() protected ¶

_inputContainerTemplate( array $options )

Generates an input container template

Parameters
array $options
The options for input container template
Returns
string
The generated input container template

_inputLabel() protected ¶

_inputLabel( string $fieldName , string $label , array $options )

Generate a label for an input() call.

$options can contain a hash of id overrides. These overrides will be used instead of the generated values if present.

Parameters
string $fieldName
The name of the field to generate label for.
string $label
Label text.
array $options
Options for the label element.
Returns
string
Generated label element

_inputType() protected ¶

_inputType( string $fieldName , array $options )

Returns the input type that was guessed for the provided fieldName, based on the internal type it is associated too, its name and the variables that can be found in the view template

Parameters
string $fieldName
the name of the field to guess a type for
array $options
the options passed to the input method
Returns
string

_isDisabled() protected ¶

_isDisabled( array $options )

Determine if a field is disabled.

Parameters
array $options
The option set.
Returns
boolean
Whether or not the field is disabled.

_lastAction() protected ¶

_lastAction( string|array $url )

Correctly store the last created form action URL.

Parameters
string|array $url
The URL of the last form.

_magicOptions() protected ¶

_magicOptions( string $fieldName , array $options , boolean $allowOverride )

Magically set option type and corresponding options

Parameters
string $fieldName
The name of the field to generate options for.
array $options
Options list.
boolean $allowOverride

Whether or not it is allowed for this method to overwrite the 'type' key in options.

Returns
array

_optionsOptions() protected ¶

_optionsOptions( string $fieldName , array $options )

Selects the variable containing the options for a select field if present, and sets the value to the 'options' key in the options array.

Parameters
string $fieldName
The name of the field to find options for.
array $options
Options list.
Returns
array

_parseOptions() protected ¶

_parseOptions( string $fieldName , array $options )

Generates input options array

Parameters
string $fieldName
The name of the field to parse options for.
array $options
Options list.
Returns
array
Options

_secure() protected ¶

_secure( boolean $lock , string|array $field , mixed $value = null )

Determine which fields of a form should be used for hash. Populates $this->fields

Parameters
boolean $lock

Whether this field should be part of the validation or excluded as part of the unlockedFields.

string|array $field

Reference to field to be secured. Can be dot separated string to indicate nesting or array of fieldname parts.

mixed $value optional null
Field value, if value should not be tampered with.

_secureFieldName() protected ¶

_secureFieldName( string $name )

Get the field name for use with _secure().

Parses the name attribute to create a dot separated name value for use in secured field hash. If filename is of form Model[field] an array of fieldname parts like ['Model', 'field'] is returned.

Parameters
string $name
The form inputs name attribute.
Returns
array

Array of field name params like ['Model.field'] or ['Model', 'field'] for array fields or empty array if $name is empty.


_singleDatetime() protected ¶

_singleDatetime( array $options , string $keep )

Helper method for the various single datetime component methods.

Parameters
array $options
The options array.
string $keep
The option to not disable.
Returns
array

addContextProvider() public ¶

addContextProvider( string $type , callable $check )

Add a new context type.

Form context types allow FormHelper to interact with data providers that come from outside CakePHP. For example if you wanted to use an alternative ORM like Doctrine you could create and connect a new context class to allow FormHelper to read metadata from doctrine.

Parameters
string $type

The type of context. This key can be used to overwrite existing providers.

callable $check

A callable that returns an object when the form context is the correct type.

addWidget() public ¶

addWidget( string $name , array|Cake\View\Widget\WidgetInterface $spec )

Add a new widget to FormHelper.

Allows you to add or replace widget instances with custom code.

Parameters
string $name
The name of the widget. e.g. 'text'.
array|Cake\View\Widget\WidgetInterface $spec

Either a string class name or an object implementing the WidgetInterface.

allControls() public ¶

allControls( array $fields = [] , array $options = [] )

Generate a set of controls for $fields. If $fields is empty the fields of current model will be used.

You can customize individual controls through $fields.

$this->Form->allControls([
  'name' => ['label' => 'custom label']
]);

You can exclude fields by specifying them as false:

$this->Form->allControls(['title' => false]);

In the above example, no field would be generated for the title field.

Parameters
array $fields optional []

An array of customizations for the fields that will be generated. This array allows you to set custom types, labels, or other options.

array $options optional []

Options array. Valid keys are: - fieldset Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled - legend Set to false to disable the legend for the generated control set. Or supply a string to customize the legend text.

Returns
string
Completed form controls.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#generating-entire-forms

allInputs() public deprecated ¶

allInputs( array $fields = [] , array $options = [] )

Generate a set of controls for $fields. If $fields is empty the fields of current model will be used.

Deprecated
3.4.0 Use FormHelper::allControls() instead.
Parameters
array $fields optional []

An array of customizations for the fields that will be generated. This array allows you to set custom types, labels, or other options.

array $options optional []

Options array. Valid keys are: - fieldset Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled - legend Set to false to disable the legend for the generated control set. Or supply a string to customize the legend text.

Returns
string
Completed form controls.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#generating-entire-forms

button() public ¶

button( string $title , array $options = [] )

Creates a <button> tag.

The type attribute defaults to type="submit" You can change it to a different value by using $options['type'].

Options:

  • escape - HTML entity encode the $title of the button. Defaults to false.
  • confirm - Confirm message to show. Form execution will only continue if confirmed then.
Parameters
string $title
The button's caption. Not automatically HTML encoded
array $options optional []
Array of options and HTML attributes.
Returns
string
A HTML button tag.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-button-elements

checkbox() public ¶

checkbox( string $fieldName , array $options = [] )

Creates a checkbox input widget.

Options:

  • value - the value of the checkbox
  • checked - boolean indicate that this checkbox is checked.
  • hiddenField - boolean to indicate if you want the results of checkbox() to include a hidden input with a value of ''.
  • disabled - create a disabled input.
  • default - Set the default value for the checkbox. This allows you to start checkboxes as checked, without having to check the POST data. A matching POST data value, will overwrite the default value.
Parameters
string $fieldName
Name of a field, like this "modelname.fieldname"
array $options optional []
Array of HTML attributes.
Returns
string|array
An HTML text input element.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-checkboxes

context() public ¶

context( Cake\View\Form\ContextInterface|null $context = null )

Get the context instance for the current form set.

If there is no active form null will be returned.

Parameters
Cake\View\Form\ContextInterface|null $context optional null
Either the new context when setting, or null to get.
Returns
Cake\View\Form\ContextInterface
The context for the form.

contextFactory() public ¶

contextFactory( Cake\View\Form\ContextFactory $instance = null , array $contexts = [] )

Set the context factory the helper will use.

Parameters
Cake\View\Form\ContextFactory $instance optional null
The context factory instance to set.
array $contexts optional []
An array of context providers.
Returns
Cake\View\Form\ContextFactory

control() public ¶

control( string $fieldName , array $options = [] )

Generates a form control element complete with label and wrapper div.

Options

See each field type method for more information. Any options that are part of $attributes or $options for the different type methods can be included in $options for input(). Additionally, any unknown keys that are not in the list below, or part of the selected type's options will be treated as a regular HTML attribute for the generated input.

  • type - Force the type of widget you want. e.g. type => 'select'
  • label - Either a string label, or an array of options for the label. See FormHelper::label().
  • options - For widgets that take options e.g. radio, select.
  • error - Control the error message that is produced. Set to false to disable any kind of error reporting (field error and error messages).
  • empty - String or boolean to enable empty select box options.
  • nestedInput - Used with checkbox and radio inputs. Set to false to render inputs outside of label elements. Can be set to true on any input to force the input inside the label. If you enable this option for radio buttons you will also need to modify the default radioWrapper template.
  • templates - The templates you want to use for this input. Any templates will be merged on top of the already loaded templates. This option can either be a filename in /config that contains the templates you want to load, or an array of templates to use.
  • labelOptions - Either false to disable label around nestedWidgets e.g. radio, multicheckbox or an array of attributes for the label tag. selected will be added to any classes e.g. class => 'myclass' where widget is checked
Parameters
string $fieldName
This should be "modelname.fieldname"
array $options optional []
Each type of input takes different options.
Returns
string
Completed form widget.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-form-inputs

controls() public ¶

controls( array $fields , array $options = [] )

Generate a set of controls for $fields wrapped in a fieldset element.

You can customize individual controls through $fields.

$this->Form->controls([
  'name' => ['label' => 'custom label'],
  'email'
]);
Parameters
array $fields

An array of the fields to generate. This array allows you to set custom types, labels, or other options.

array $options optional []

Options array. Valid keys are: - fieldset Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled. - legend Set to false to disable the legend for the generated input set. Or supply a string to customize the legend text.

Returns
string
Completed form inputs.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#generating-entire-forms

create() public ¶

create( mixed $context = null , array $options = [] )

Returns an HTML form element.

Options:

  • type Form method defaults to autodetecting based on the form context. If the form context's isCreate() method returns false, a PUT request will be done.
  • method Set the form's method attribute explicitly.
  • action The controller action the form submits to, (optional). Use this option if you don't need to change the controller from the current request's controller. Deprecated since 3.2, use url.
  • url The URL the form submits to. Can be a string or a URL array. If you use 'url' you should leave 'action' undefined.
  • encoding Set the accept-charset encoding for the form. Defaults to Configure::read('App.encoding')
  • enctype Set the form encoding explicitly. By default type => file will set enctype to multipart/form-data.
  • templates The templates you want to use for this form. Any templates will be merged on top of the already loaded templates. This option can either be a filename in /config that contains the templates you want to load, or an array of templates to use.
  • context Additional options for the context class. For example the EntityContext accepts a 'table' option that allows you to set the specific Table class the form should be based on.
  • idPrefix Prefix for generated ID attributes.
  • valueSources The sources that values should be read from. See FormHelper::setValueSources()
  • templateVars Provide template variables for the formStart template.
Parameters
mixed $context optional null

The context for which the form is being defined. Can be a ContextInterface instance, ORM entity, ORM resultset, or an array of meta data. You can use false or null to make a context-less form.

array $options optional []
An array of html attributes and options.
Returns
string
An formatted opening FORM tag.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#Cake\View\Helper\FormHelper::create

date() public ¶

date( string $fieldName , array $options = [] )

Generate date inputs.

Options:

See dateTime() for date options.

Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
Array of Options
Returns
string
Generated set of select boxes for time formats chosen.
See
\Cake\View\Helper\FormHelper::dateTime() for templating options.

dateTime() public ¶

dateTime( string $fieldName , array $options = [] )

Returns a set of SELECT elements for a full datetime setup: day, month and year, and then time.

Date Options:

  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • value | default The default value to be used by the input. A value in $this->data matching the field name will override this value. If no default is provided time() will be used.
  • monthNames If false, 2 digit numbers will be used instead of text. If an array, the given array will be used.
  • minYear The lowest year to use in the year select
  • maxYear The maximum year to use in the year select
  • orderYear - Order of year values in select options. Possible values 'asc', 'desc'. Default 'desc'.

Time options:

  • empty - If true, the empty select option is shown. If a string,
  • value | default The default value to be used by the input. A value in $this->data matching the field name will override this value. If no default is provided time() will be used.
  • timeFormat The time format to use, either 12 or 24.
  • interval The interval for the minutes select. Defaults to 1
  • round - Set to up or down if you want to force rounding in either direction. Defaults to null.
  • second Set to true to enable seconds drop down.

To control the order of inputs, and any elements/content between the inputs you can override the dateWidget template. By default the dateWidget template is:

{{month}}{{day}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}

Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
Array of Options
Returns
string
Generated set of select boxes for the date and time formats chosen.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-date-and-time-inputs

day() public ¶

day( string|null $fieldName = null , array $options = [] )

Returns a SELECT element for days.

Options:

  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • value The selected value of the input.
Parameters
string|null $fieldName optional null
Prefix name for the SELECT element
array $options optional []
Options & HTML attributes for the select element
Returns
string
A generated day select box.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-day-inputs

end() public ¶

end( array $secureAttributes = [] )

Closes an HTML form, cleans up values set by FormHelper::create(), and writes hidden input fields where appropriate.

Resets some parts of the state, shared among multiple FormHelper::create() calls, to defaults.

Parameters
array $secureAttributes optional []

Secure attributes which will be passed as HTML attributes into the hidden input elements generated for the Security Component.

Returns
string
A closing FORM tag.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#closing-the-form

error() public ¶

error( string $field , string|array|null $text = null , array $options = [] )

Returns a formatted error message for given form field, '' if no errors.

Uses the error, errorList and errorItem templates. The errorList and errorItem templates are used to format multiple error messages per field.

Options:

  • escape boolean - Whether or not to html escape the contents of the error.
Parameters
string $field
A field name, like "modelname.fieldname"
string|array|null $text optional null

Error message as string or array of messages. If an array, it should be a hash of key names => messages.

array $options optional []
See above.
Returns
string
Formatted errors or ''.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#displaying-and-checking-errors

fieldset() public ¶

fieldset( string $fields = '' , array $options = [] )

Wrap a set of inputs in a fieldset

Parameters
string $fields optional ''
the form inputs to wrap in a fieldset
array $options optional []

Options array. Valid keys are: - fieldset Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled - legend Set to false to disable the legend for the generated input set. Or supply a string to customize the legend text.

Returns
string
Completed form inputs.

file() public ¶

file( string $fieldName , array $options = [] )

Creates file input widget.

Parameters
string $fieldName
Name of a field, in the form "modelname.fieldname"
array $options optional []
Array of HTML attributes.
Returns
string
A generated file input.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-file-inputs

getSourceValue() public ¶

getSourceValue( string $fieldname , array|null $options = [] )

Gets a single field value from the sources available.

Parameters
string $fieldname
The fieldname to fetch the value for.
array|null $options optional []
The options containing default values.
Returns
string|null
Field value derived from sources or defaults.

getValueSources() public ¶

getValueSources( )

Gets the value sources.

Returns a list, but at least one item, of valid sources, such as: 'context', 'data' and 'query'.

Returns
string[]
List of value sources.

getWidgetLocator() public ¶

getWidgetLocator( )

Get the widget locator currently used by the helper.

Returns
Cake\View\Widget\WidgetLocator
Current locator instance
Since
3.6.0

hidden() public ¶

hidden( string $fieldName , array $options = [] )

Creates a hidden input field.

Parameters
string $fieldName
Name of a field, in the form of "modelname.fieldname"
array $options optional []
Array of HTML attributes.
Returns
string
A generated hidden input
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-hidden-inputs

hour() public ¶

hour( string $fieldName , array $options = [] )

Returns a SELECT element for hours.

Attributes:

  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • value The selected value of the input.
  • format Set to 12 or 24 to use 12 or 24 hour formatting. Defaults to 24.
Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
List of HTML attributes
Returns
string
Completed hour select input
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-hour-inputs

implementedEvents() public ¶

implementedEvents( )

Event listeners.

Returns
array
Overrides
Cake\View\Helper::implementedEvents()

input() public deprecated ¶

input( string $fieldName , array $options = [] )

Generates a form control element complete with label and wrapper div.

Deprecated
3.4.0 Use FormHelper::control() instead.
Parameters
string $fieldName
This should be "modelname.fieldname"
array $options optional []
Each type of input takes different options.
Returns
string
Completed form widget.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-form-inputs

inputs() public deprecated ¶

inputs( array $fields , array $options = [] )

Generate a set of controls for $fields wrapped in a fieldset element.

Deprecated
3.4.0 Use FormHelper::controls() instead.
Parameters
array $fields

An array of the fields to generate. This array allows you to set custom types, labels, or other options.

array $options optional []

Options array. Valid keys are: - fieldset Set to false to disable the fieldset. You can also pass an array of params to be applied as HTML attributes to the fieldset tag. If you pass an empty array, the fieldset will be enabled. - legend Set to false to disable the legend for the generated input set. Or supply a string to customize the legend text.

Returns
string
Completed form inputs.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#generating-entire-forms

isFieldError() public ¶

isFieldError( string $field )

Returns true if there is an error for the given field, otherwise false

Parameters
string $field
This should be "modelname.fieldname"
Returns
boolean
If there are errors this method returns true, else false.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#displaying-and-checking-errors

label() public ¶

label( string $fieldName , string|null $text = null , array $options = [] )

Returns a formatted LABEL element for HTML forms.

Will automatically generate a for attribute if one is not provided.

Options

  • for - Set the for attribute, if its not defined the for attribute will be generated from the $fieldName parameter using FormHelper::_domId().
  • escape - Set to false to turn off escaping of label text. Defaults to true.

Examples:

The text and for attribute are generated off of the fieldname

echo $this->Form->label('published');
<label for="PostPublished">Published</label>

Custom text:

echo $this->Form->label('published', 'Publish');
<label for="published">Publish</label>

Custom attributes:

echo $this->Form->label('published', 'Publish', [
  'for' => 'post-publish'
]);
<label for="post-publish">Publish</label>

Nesting an input tag:

echo $this->Form->label('published', 'Publish', [
  'for' => 'published',
  'input' => $this->text('published'),
]);
<label for="post-publish">Publish <input type="text" name="published"></label>

If you want to nest inputs in the labels, you will need to modify the default templates.

Parameters
string $fieldName
This should be "modelname.fieldname"
string|null $text optional null

Text that will appear in the label field. If $text is left undefined the text will be inflected from the fieldName.

array $options optional []
An array of HTML attributes.
Returns
string
The formatted LABEL element
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-labels

meridian() public ¶

meridian( string $fieldName , array $options = [] )

Returns a SELECT element for AM or PM.

Attributes:

  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • value The selected value of the input.
Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
Array of options
Returns
string
Completed meridian select input
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-meridian-inputs

minute() public ¶

minute( string $fieldName , array $options = [] )

Returns a SELECT element for minutes.

Attributes:

  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • value The selected value of the input.
  • interval The interval that minute options should be created at.
  • round How you want the value rounded when it does not fit neatly into an interval. Accepts 'up', 'down', and null.
Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
Array of options.
Returns
string
Completed minute select input.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-minute-inputs

month() public ¶

month( string $fieldName , array $options = [] )

Returns a SELECT element for months.

Options:

  • monthNames - If false, 2 digit numbers will be used instead of text. If an array, the given array will be used.
  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • value The selected value of the input.
Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
Attributes for the select element
Returns
string
A generated month select dropdown.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-month-inputs

multiCheckbox() public ¶

multiCheckbox( string $fieldName , array|Traversable $options , array $attributes = [] )

Creates a set of checkboxes out of options.

Options

  • escape - If true contents of options will be HTML entity encoded. Defaults to true.
  • val The selected value of the input.
  • class - When using multiple = checkbox the class name to apply to the divs. Defaults to 'checkbox'.
  • disabled - Control the disabled attribute. When creating checkboxes, true will disable all checkboxes. You can also set disabled to a list of values you want to disable when creating checkboxes.
  • hiddenField - Set to false to remove the hidden field that ensures a value is always submitted.
  • label - Either false to disable label around the widget or an array of attributes for the label tag. selected will be added to any classes e.g. 'class' => 'myclass' where widget is checked

Can be used in place of a select box with the multiple attribute.

Parameters
string $fieldName
Name attribute of the SELECT
array|Traversable $options

Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the checkboxes element.

array $attributes optional []
The HTML attributes of the select element.
Returns
string
Formatted SELECT element
See
\Cake\View\Helper\FormHelper::select() for supported option formats.

postButton() public ¶

postButton( string $title , string|array $url , array $options = [] )

Create a <button> tag with a surrounding <form> that submits via POST as default.

This method creates a <form> element. So do not use this method in an already opened form. Instead use FormHelper::submit() or FormHelper::button() to create buttons inside opened forms.

Options:

  • data - Array with key/value to pass in input hidden
  • method - Request method to use. Set to 'delete' or others to simulate HTTP/1.1 DELETE (or others) request. Defaults to 'post'.
  • form - Array with any option that FormHelper::create() can take
  • Other options is the same of button method.
  • confirm - Confirm message to show. Form execution will only continue if confirmed then.
Parameters
string $title
The button's caption. Not automatically HTML encoded
string|array $url
URL as string or array
array $options optional []
Array of options and HTML attributes.
Returns
string
A HTML button tag.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-standalone-buttons-and-post-links

postLink() public ¶

postLink( string $title , string|array|null $url = null , array $options = [] )

Creates an HTML link, but access the URL using the method you specify (defaults to POST). Requires javascript to be enabled in browser.

This method creates a <form> element. If you want to use this method inside of an existing form, you must use the block option so that the new form is being set to a view block that can be rendered outside of the main form.

If all you are looking for is a button to submit your form, then you should use FormHelper::button() or FormHelper::submit() instead.

Options:

  • data - Array with key/value to pass in input hidden
  • method - Request method to use. Set to 'delete' to simulate HTTP/1.1 DELETE request. Defaults to 'post'.
  • confirm - Confirm message to show. Form execution will only continue if confirmed then.
  • block - Set to true to append form to view block "postLink" or provide custom block name.
  • Other options are the same of HtmlHelper::link() method.
  • The option onclick will be replaced.
Parameters
string $title
The content to be wrapped by tags.
string|array|null $url optional null

Cake-relative URL or array of URL parameters, or external URL (starts with http://)

array $options optional []
Array of HTML attributes.
Returns
string
An <a /> element.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-standalone-buttons-and-post-links

radio() public ¶

radio( string $fieldName , array|Traversable $options = [] , array $attributes = [] )

Creates a set of radio widgets.

Attributes:

  • value - Indicates the value when this radio button is checked.
  • label - Either false to disable label around the widget or an array of attributes for the label tag. selected will be added to any classes e.g. 'class' => 'myclass' where widget is checked
  • hiddenField - boolean to indicate if you want the results of radio() to include a hidden input with a value of ''. This is useful for creating radio sets that are non-continuous.
  • disabled - Set to true or disabled to disable all the radio buttons. Use an array of values to disable specific radio buttons.
  • empty - Set to true to create an input with the value '' as the first option. When true the radio label will be 'empty'. Set this option to a string to control the label value.
Parameters
string $fieldName
Name of a field, like this "modelname.fieldname"
array|Traversable $options optional []
Radio button options array.
array $attributes optional []
Array of attributes.
Returns
string
Completed radio widget set.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-radio-buttons

resetTemplates() public ¶

resetTemplates( )

Restores the default values built into FormHelper.

This method will not reset any templates set in custom widgets.

secure() public ¶

secure( array $fields = [] , array $secureAttributes = [] )

Generates a hidden field with a security hash based on the fields used in the form.

If $secureAttributes is set, these HTML attributes will be merged into the hidden input tags generated for the Security Component. This is especially useful to set HTML5 attributes like 'form'.

Parameters
array $fields optional []

If set specifies the list of fields to use when generating the hash, else $this->fields is being used.

array $secureAttributes optional []

will be passed as HTML attributes into the hidden input elements generated for the Security Component.

Returns
string

A hidden input field with a security hash, or empty string when secured forms are not in use.


select() public ¶

select( string $fieldName , array|Traversable $options = [] , array $attributes = [] )

Returns a formatted SELECT element.

Attributes:

  • multiple - show a multiple select box. If set to 'checkbox' multiple checkboxes will be created instead.
  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • escape - If true contents of options will be HTML entity encoded. Defaults to true.
  • val The selected value of the input.
  • disabled - Control the disabled attribute. When creating a select box, set to true to disable the select box. Set to an array to disable specific option elements.

Using options

A simple array will create normal options:

$options = [1 => 'one', 2 => 'two'];
$this->Form->select('Model.field', $options));

While a nested options array will create optgroups with options inside them.

$options = [
 1 => 'bill',
    'fred' => [
        2 => 'fred',
        3 => 'fred jr.'
    ]
];
$this->Form->select('Model.field', $options);

If you have multiple options that need to have the same value attribute, you can use an array of arrays to express this:

$options = [
    ['text' => 'United states', 'value' => 'USA'],
    ['text' => 'USA', 'value' => 'USA'],
];
Parameters
string $fieldName
Name attribute of the SELECT
array|Traversable $options optional []

Array of the OPTION elements (as 'value'=>'Text' pairs) to be used in the SELECT element

array $attributes optional []
The HTML attributes of the select element.
Returns
string
Formatted SELECT element
See
\Cake\View\Helper\FormHelper::multiCheckbox() for creating multiple checkboxes.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-select-pickers

setValueSources() public ¶

setValueSources( string|string[] $sources )

Sets the value sources.

Valid values are 'context', 'data' and 'query'. You need to supply one valid context or multiple, as a list of strings. Order sets priority.

Parameters
string|string[] $sources
A string or a list of strings identifying a source.
Returns

$this

setWidgetLocator() public ¶

setWidgetLocator( Cake\View\Widget\WidgetLocator $instance )

Set the widget locator the helper will use.

Parameters
Cake\View\Widget\WidgetLocator $instance
The locator instance to set.
Returns

$this
Since
3.6.0

submit() public ¶

submit( string|null $caption = null , array $options = [] )

Creates a submit button element. This method will generate <input /> elements that can be used to submit, and reset forms by using $options. image submits can be created by supplying an image path for $caption.

Options

  • type - Set to 'reset' for reset inputs. Defaults to 'submit'
  • templateVars - Additional template variables for the input element and its container.
  • Other attributes will be assigned to the input element.
Parameters
string|null $caption optional null

The label appearing on the button OR if string contains :// or the extension .jpg, .jpe, .jpeg, .gif, .png use an image if the extension exists, AND the first character is /, image is relative to webroot, OR if the first character is not /, image is relative to webroot/img.

array $options optional []
Array of options. See above.
Returns
string
A HTML submit button
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-buttons-and-submit-elements

textarea() public ¶

textarea( string $fieldName , array $options = [] )

Creates a textarea widget.

Options:

  • escape - Whether or not the contents of the textarea should be escaped. Defaults to true.
Parameters
string $fieldName
Name of a field, in the form "modelname.fieldname"
array $options optional []
Array of HTML attributes, and special options above.
Returns
string
A generated HTML text input element
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-textareas

time() public ¶

time( string $fieldName , array $options = [] )

Generate time inputs.

Options:

See dateTime() for time options.

Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
Array of Options
Returns
string
Generated set of select boxes for time formats chosen.
See
\Cake\View\Helper\FormHelper::dateTime() for templating options.

unlockField() public ¶

unlockField( string|null $name = null )

Add to or get the list of fields that are currently unlocked. Unlocked fields are not included in the field hash used by SecurityComponent unlocking a field once its been added to the list of secured fields will remove it from the list of fields.

Parameters
string|null $name optional null
The dot separated name for the field.
Returns
array|null
Either null, or the list of fields.
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#working-with-securitycomponent

widget() public ¶

widget( string $name , array $data = [] )

Render a named widget.

This is a lower level method. For built-in widgets, you should be using methods like text, hidden, and radio. If you are using additional widgets you should use this method render the widget without the label or wrapping div.

Parameters
string $name
The name of the widget. e.g. 'text'.
array $data optional []
The data to render.
Returns
string

widgetRegistry() public deprecated ¶

widgetRegistry( Cake\View\Widget\WidgetRegistry $instance = null , array $widgets = [] )

Set the widget registry the helper will use.

Deprecated
3.6.0 Use FormHelper::widgetLocator() instead.
Parameters
Cake\View\Widget\WidgetRegistry $instance optional null
The registry instance to set.
array $widgets optional []
An array of widgets
Returns
Cake\View\Widget\WidgetLocator

year() public ¶

year( string $fieldName , array $options = [] )

Returns a SELECT element for years

Attributes:

  • empty - If true, the empty select option is shown. If a string, that string is displayed as the empty element.
  • orderYear - Ordering of year values in select options. Possible values 'asc', 'desc'. Default 'desc'
  • value The selected value of the input.
  • maxYear The max year to appear in the select element.
  • minYear The min year to appear in the select element.
Parameters
string $fieldName
Prefix name for the SELECT element
array $options optional []
Options & attributes for the select elements.
Returns
string
Completed year select input
Link
https://book.cakephp.org/3.0/en/views/helpers/form.html#creating-year-inputs

Methods inherited from Cake\View\Helper

__debugInfo() public ¶

__debugInfo( )

Returns an array that can be used to describe the internal state of this object.

Returns
array

__get() public ¶

__get( string $name )

Lazy loads helpers.

Parameters
string $name
Name of the property being accessed.
Returns
Cake\View\Helper|null
Helper instance if helper with provided name exists

__set() public ¶

__set( string $name , mixed $value )

Magic setter for removed properties.

Parameters
string $name
Property name.
mixed $value
Value to set.

_cleanConfirmMessage() protected ¶

_cleanConfirmMessage( string $message )

Returns a string read to be used in confirm()

Parameters
string $message
The message to clean
Returns
mixed

_confirm() protected ¶

_confirm( string $message , string $okCode , string $cancelCode = '' , array $options = [] )

Returns a string to be used as onclick handler for confirm dialogs.

Parameters
string $message
Message to be displayed
string $okCode
Code to be executed after user chose 'OK'
string $cancelCode optional ''
Code to be executed after user chose 'Cancel'
array $options optional []
Array of options
Returns
string
onclick JS code

addClass() public ¶

addClass( array $options = [] , string|null $class = null , string $key = 'class' )

Adds the given class to the element options

Parameters
array $options optional []
Array options/attributes to add a class to
string|null $class optional null
The class name being added.
string $key optional 'class'
the key to use for class. Defaults to 'class'.
Returns
array
Array of options with $key set.

getView() public ¶

getView( )

Get the view instance this helper is bound to.

Returns
Cake\View\View
The bound view instance.

initialize() public ¶

initialize( array $config )

Constructor hook method.

Implement this method to avoid having to overwrite the constructor and call parent.

Parameters
array $config
The configuration settings provided to this helper.

Methods used from Cake\View\Helper\IdGeneratorTrait

_clearIds() protected ¶

_clearIds( )

Clear the stored ID suffixes.

_domId() protected ¶

_domId( string $value )

Generate an ID suitable for use in an ID attribute.

Parameters
string $value
The value to convert into an ID.
Returns
string
The generated id.

_id() protected ¶

_id( string $name , string $val )

Generate an ID attribute for an element.

Ensures that id's for a given set of fields are unique.

Parameters
string $name
The ID attribute name.
string $val
The ID attribute value.
Returns
string
Generated id.

_idSuffix() protected ¶

_idSuffix( string $val )

Generate an ID suffix.

Ensures that id's for a given set of fields are unique.

Parameters
string $val
The ID attribute value.
Returns
string
Generated id suffix.

Methods used from Cake\View\Helper\SecureFieldTokenTrait

_buildFieldToken() protected ¶

_buildFieldToken( string $url , array $fields , string[] $unlockedFields = [] )

Generate the token data for the provided inputs.

Parameters
string $url
The URL the form is being submitted to.
array $fields

If set specifies the list of fields to use when generating the hash.

string[] $unlockedFields optional []

The list of fields that are excluded from field validation.

Returns
array
The token data.

Methods used from Cake\View\StringTemplateTrait

formatTemplate() public ¶

formatTemplate( string $name , array $data )

Formats a template string with $data

Parameters
string $name
The template name.
array $data
The data to insert.
Returns
string

getTemplates() public ¶

getTemplates( string|null $template = null )

Gets templates to use or a specific template.

Parameters
string|null $template optional null
String for reading a specific template, null for all.
Returns
string|array

setTemplates() public ¶

setTemplates( array $templates )

Sets templates to use.

Parameters
array $templates
Templates to be added.
Returns

$this

templater() public ¶

templater( )

Returns the templater instance.

Returns
Cake\View\StringTemplate

templates() public deprecated ¶

templates( string|array|null $templates = null )

Gets/sets templates to use.

Deprecated
3.4.0 Use setTemplates()/getTemplates() instead.
Parameters
string|array|null $templates optional null

null or string allow reading templates. An array allows templates to be added.

Returns

$this|string|array

Methods used from Cake\Core\InstanceConfigTrait

_configDelete() protected ¶

_configDelete( string $key )

Deletes a single config key.

Parameters
string $key
Key to delete.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

_configRead() protected ¶

_configRead( string|null $key )

Reads a config key.

Parameters
string|null $key
Key to read.
Returns
mixed

_configWrite() protected ¶

_configWrite( string|array $key , mixed $value , boolean|string $merge = false )

Writes a config key.

Parameters
string|array $key
Key to write to.
mixed $value
Value to write.
boolean|string $merge optional false

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config

config() public deprecated ¶

config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )

Gets/Sets the config.

Usage

Reading the whole config:

$this->config();

Reading a specific value:

$this->config('key');

Reading a nested value:

$this->config('some.nested.key');

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);
Deprecated
3.4.0 use setConfig()/getConfig() instead.
Parameters
string|array|null $key optional null
The key to get/set, or a complete array of configs.
mixed|null $value optional null
The value to set.
boolean $merge optional true
Whether to recursively merge or overwrite existing config, defaults to true.
Returns
mixed
Config value being read, or the object itself on write operations.
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.

configShallow() public ¶

configShallow( string|array $key , mixed|null $value = null )

Merge provided config with existing config. Unlike config() which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->configShallow('key', $value);

Setting a nested value:

$this->configShallow('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->configShallow(['one' => 'value', 'another' => 'value']);
Parameters
string|array $key
The key to set, or a complete array of configs.
mixed|null $value optional null
The value to set.
Returns

$this

getConfig() public ¶

getConfig( string|null $key = null , mixed $default = null )

Returns the config.

Usage

Reading the whole config:

$this->getConfig();

Reading a specific value:

$this->getConfig('key');

Reading a nested value:

$this->getConfig('some.nested.key');

Reading with default value:

$this->getConfig('some-key', 'default-value');
Parameters
string|null $key optional null
The key to get or null for the whole config.
mixed $default optional null
The return value when the key does not exist.
Returns
mixed
Configuration data at the named key or null if the key does not exist.

setConfig() public ¶

setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )

Sets the config.

Usage

Setting a specific value:

$this->setConfig('key', $value);

Setting a nested value:

$this->setConfig('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->setConfig(['one' => 'value', 'another' => 'value']);
Parameters
string|array $key
The key to set, or a complete array of configs.
mixed|null $value optional null
The value to set.
boolean $merge optional true
Whether to recursively merge or overwrite existing config, defaults to true.
Returns

$this
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.

Magic methods summary

email() public ¶

email( $fieldName , array $options = )

Parameters
$fieldName
array $options optional
Returns
string

number() public ¶

number( $fieldName , array $options = )

Parameters
$fieldName
array $options optional
Returns
string

password() public ¶

password( $fieldName , array $options = )

Parameters
$fieldName
array $options optional
Returns
string

search() public ¶

search( $fieldName , array $options = )

Parameters
$fieldName
array $options optional
Returns
string

text() public ¶

text( $fieldName , array $options = )

Parameters
$fieldName
array $options optional
Returns
string

Properties detail

$_context ¶

protected Cake\View\Form\ContextInterface|null

Context for the current form.

$_contextFactory ¶

protected Cake\View\Form\ContextFactory

Context factory.

$_datetimeOptions ¶

protected array

Special options used for datetime inputs.

[
    'interval', 'round', 'monthNames', 'minYear', 'maxYear',
    'orderYear', 'timeFormat', 'second'
]

$_datetimeParts ¶

protected array

The various pickers that make up a datetime picker.

['year', 'month', 'day', 'hour', 'minute', 'second', 'meridian']

$_defaultConfig ¶

protected array

Default config for the helper.

[
    'idPrefix' => null,
    'errorClass' => 'form-error',
    'typeMap' => [
        'string' => 'text',
        'text' => 'textarea',
        'uuid' => 'string',
        'datetime' => 'datetime',
        'timestamp' => 'datetime',
        'date' => 'date',
        'time' => 'time',
        'boolean' => 'checkbox',
        'float' => 'number',
        'integer' => 'number',
        'tinyinteger' => 'number',
        'smallinteger' => 'number',
        'decimal' => 'number',
        'binary' => 'file',
    ],
    'templates' => [
        // Used for button elements in button().
        'button' => '<button{{attrs}}>{{text}}</button>',
        // Used for checkboxes in checkbox() and multiCheckbox().
        'checkbox' => '<input type="checkbox" name="{{name}}" value="{{value}}"{{attrs}}>',
        // Input group wrapper for checkboxes created via control().
        'checkboxFormGroup' => '{{label}}',
        // Wrapper container for checkboxes.
        'checkboxWrapper' => '<div class="checkbox">{{label}}</div>',
        // Widget ordering for date/time/datetime pickers.
        'dateWidget' => '{{year}}{{month}}{{day}}{{hour}}{{minute}}{{second}}{{meridian}}',
        // Error message wrapper elements.
        'error' => '<div class="error-message">{{content}}</div>',
        // Container for error items.
        'errorList' => '<ul>{{content}}</ul>',
        // Error item wrapper.
        'errorItem' => '<li>{{text}}</li>',
        // File input used by file().
        'file' => '<input type="file" name="{{name}}"{{attrs}}>',
        // Fieldset element used by allControls().
        'fieldset' => '<fieldset{{attrs}}>{{content}}</fieldset>',
        // Open tag used by create().
        'formStart' => '<form{{attrs}}>',
        // Close tag used by end().
        'formEnd' => '</form>',
        // General grouping container for control(). Defines input/label ordering.
        'formGroup' => '{{label}}{{input}}',
        // Wrapper content used to hide other content.
        'hiddenBlock' => '<div style="display:none;">{{content}}</div>',
        // Generic input element.
        'input' => '<input type="{{type}}" name="{{name}}"{{attrs}}/>',
        // Submit input element.
        'inputSubmit' => '<input type="{{type}}"{{attrs}}/>',
        // Container element used by control().
        'inputContainer' => '<div class="input {{type}}{{required}}">{{content}}</div>',
        // Container element used by control() when a field has an error.
        'inputContainerError' => '<div class="input {{type}}{{required}} error">{{content}}{{error}}</div>',
        // Label element when inputs are not nested inside the label.
        'label' => '<label{{attrs}}>{{text}}</label>',
        // Label element used for radio and multi-checkbox inputs.
        'nestingLabel' => '{{hidden}}<label{{attrs}}>{{input}}{{text}}</label>',
        // Legends created by allControls()
        'legend' => '<legend>{{text}}</legend>',
        // Multi-Checkbox input set title element.
        'multicheckboxTitle' => '<legend>{{text}}</legend>',
        // Multi-Checkbox wrapping container.
        'multicheckboxWrapper' => '<fieldset{{attrs}}>{{content}}</fieldset>',
        // Option element used in select pickers.
        'option' => '<option value="{{value}}"{{attrs}}>{{text}}</option>',
        // Option group element used in select pickers.
        'optgroup' => '<optgroup label="{{label}}"{{attrs}}>{{content}}</optgroup>',
        // Select element,
        'select' => '<select name="{{name}}"{{attrs}}>{{content}}</select>',
        // Multi-select element,
        'selectMultiple' => '<select name="{{name}}[]" multiple="multiple"{{attrs}}>{{content}}</select>',
        // Radio input element,
        'radio' => '<input type="radio" name="{{name}}" value="{{value}}"{{attrs}}>',
        // Wrapping container for radio input/label,
        'radioWrapper' => '{{label}}',
        // Textarea input element,
        'textarea' => '<textarea name="{{name}}"{{attrs}}>{{value}}</textarea>',
        // Container for submit buttons.
        'submitContainer' => '<div class="submit">{{content}}</div>',
        //Confirm javascript template for postLink()
        'confirmJs' => '{{confirm}}',
    ],
    // set HTML5 validation message to custom required/empty messages
    'autoSetCustomValidity' => false,
]

$_defaultWidgets ¶

protected array

Default widgets

[
    'button' => ['Button'],
    'checkbox' => ['Checkbox'],
    'file' => ['File'],
    'label' => ['Label'],
    'nestingLabel' => ['NestingLabel'],
    'multicheckbox' => ['MultiCheckbox', 'nestingLabel'],
    'radio' => ['Radio', 'nestingLabel'],
    'select' => ['SelectBox'],
    'textarea' => ['Textarea'],
    'datetime' => ['DateTime', 'select'],
    '_default' => ['Basic'],
]

$_groupedInputTypes ¶

protected string[]

Grouped input types.

['radio', 'multicheckbox', 'date', 'time', 'datetime']

$_lastAction ¶

protected string

The action attribute value of the last created form. Used to make form/request specific hashes for SecurityComponent.

''

$_locator ¶

protected Cake\View\Widget\WidgetLocator

Locator for input widgets.

$_unlockedFields ¶

protected string[]

An array of field names that have been excluded from the Token hash used by SecurityComponent's validatePost method

See
\Cake\View\Helper\FormHelper::_secure()
\Cake\Controller\Component\SecurityComponent::validatePost()
[]

$_valueSources ¶

protected string[]

The sources to be used when retrieving prefilled input values.

['context']

$fields ¶

public array

List of fields created, used with secure forms.

[]

$helpers ¶

public array

Other helpers used by FormHelper

['Url', 'Html']

$requestType ¶

public string|null

Defines the type of form being created. Set by FormHelper::create().

Magic properties detail

$Html ¶

public Cake\View\Helper\HtmlHelper

$Url ¶

public Cake\View\Helper\UrlHelper
Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs