On this page
Class RadioWidget
Input widget class for generating a set of radio buttons.
This class is usually used internally by Cake\View\Helper\FormHelper, it but can be used to generate standalone radio buttons.
Property Summary
-
$_idPrefix protected
string|nullPrefix for id attribute.
-
$_idSuffixes protected
string[]A list of id suffixes used in the current rendering.
-
$_label protected
Cake\View\Widget\LabelWidgetLabel instance.
-
$_templates protected
Cake\View\StringTemplateStringTemplate instance.
-
$defaults protected
arrayData defaults.
Method Summary
__construct() public
Constructor
_clearIds() protected
Clear the stored ID suffixes.
_domId() protected
Generate an ID suitable for use in an ID attribute.
_id() protected
Generate an ID attribute for an element.
_idSuffix() protected
Generate an ID suffix.
_isDisabled() protected
Disabled attribute detection.
_renderInput() protected
Renders a single radio input and label.
_renderLabel() protected
Renders a label element for a given radio button.
mergeDefaults() protected
Merge default values with supplied data.
render() public
Render a set of radio buttons.
secureFields() public
Returns a list of fields that need to be secured for this widget.
setMaxLength() protected
Set value for "maxlength" attribute if applicable.
setRequired() protected
Set value for "required" attribute if applicable.
setStep() protected
Set value for "step" attribute if applicable.
Method Detail
__construct() public
__construct(Cake\View\StringTemplate $templates, Cake\View\Widget\LabelWidget $label)
Constructor
This class uses a few templates:
radioUsed to generate the input for a radio button. Can use the following variablesname,value,attrs.radioWrapperUsed to generate the container element for the radio + input element. Can use theinputandlabelvariables.
Parameters
Cake\View\StringTemplate$templates-
Templates list.
Cake\View\Widget\LabelWidget$label-
Label widget instance.
_clearIds() protected
_clearIds(): void
Clear the stored ID suffixes.
Returns
void_domId() protected
_domId(string $value): string
Generate an ID suitable for use in an ID attribute.
Parameters
string$value-
The value to convert into an ID.
Returns
string_id() protected
_id(string $name, string $val): string
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_idSuffix() protected
_idSuffix(string $val): string
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_isDisabled() protected
_isDisabled(array $radio, array|true|null $disabled): bool
Disabled attribute detection.
Parameters
array$radio-
Radio info.
array|true|null$disabled-
The disabled values.
Returns
bool_renderInput() protected
_renderInput(string|int $val, string|array $text, array $data, Cake\View\Form\ContextInterface $context): string
Renders a single radio input and label.
Parameters
string|int$val-
The value of the radio input.
string|array$text-
The label text, or complex radio type.
array$data-
Additional options for input generation.
Cake\View\Form\ContextInterface$context-
The form context
Returns
string_renderLabel() protected
_renderLabel(array $radio, array|string|false $label, string $input, Cake\View\Form\ContextInterface $context, bool $escape): string|false
Renders a label element for a given radio button.
In the future this might be refactored into a separate widget as other input types (multi-checkboxes) will also need labels generated.
Parameters
array$radio-
The input properties.
array|string|false$label-
The properties for a label.
string$input-
The input widget.
Cake\View\Form\ContextInterface$context-
The form context.
bool$escape-
Whether or not to HTML escape the label.
Returns
string|falsemergeDefaults() protected
mergeDefaults(array $data, Cake\View\Form\ContextInterface $context): array
Merge default values with supplied data.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
Returns
arrayrender() public
render(array $data, Cake\View\Form\ContextInterface $context): string
Render a set of radio buttons.
Data supports the following keys:
name- Set the input name.options- An array of options. See below for more information.disabled- Either true or an array of inputs to disable. When true, the select element will be disabled.val- A string of the option to mark as selected.label- Either false to disable label generation, or an array of attributes for all labels.required- Set to true to add the required attribute on all generated radios.idPrefixPrefix for generated ID attributes.
Parameters
array$data-
The data to build radio buttons with.
Cake\View\Form\ContextInterface$context-
The current form context.
Returns
stringsecureFields() public
secureFields(array $data): string[]
Returns a list of fields that need to be secured for this widget.
Parameters
array$data
Returns
string[]setMaxLength() protected
setMaxLength(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "maxlength" attribute if applicable.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
string$fieldName-
Field name.
Returns
arraysetRequired() protected
setRequired(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "required" attribute if applicable.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
string$fieldName-
Field name.
Returns
arraysetStep() protected
setStep(array $data, Cake\View\Form\ContextInterface $context, string $fieldName): array
Set value for "step" attribute if applicable.
Parameters
array$data-
Data array
Cake\View\Form\ContextInterface$context-
Context instance.
string$fieldName-
Field name.
Returns
arrayProperty Detail
$_idPrefix protected
Prefix for id attribute.
Type
string|null$_idSuffixes protected
A list of id suffixes used in the current rendering.
Type
string[]$_label protected
Label instance.
Type
Cake\View\Widget\LabelWidget$_templates protected
StringTemplate instance.
Type
Cake\View\StringTemplate$defaults protected
Data defaults.
Type
array© 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.Widget.RadioWidget.html