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|null
Prefix for id attribute.
-
$_idSuffixes protected
array<string>
A list of id suffixes used in the current rendering.
-
$_label protected
Cake\View\Widget\LabelWidget
Label instance.
-
$_templates protected
Cake\View\StringTemplate
StringTemplate instance.
-
$defaults protected
array<string, mixed>
Data 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:
radio
Used to generate the input for a radio button. Can use the following variablesname
,value
,attrs
.radioWrapper
Used to generate the container element for the radio + input element. Can use theinput
andlabel
variables.
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<string, mixed> $radio, array|true|null $disabled): bool
Disabled attribute detection.
Parameters
array<string, mixed>
$radio-
Radio info.
array|true|null
$disabled-
The disabled values.
Returns
bool
_renderInput() protected
_renderInput(string|int $val, array<string, mixed>|string $text, array<string, mixed> $data, Cake\View\Form\ContextInterface $context): string
Renders a single radio input and label.
Parameters
string|int
$val-
The value of the radio input.
array<string, mixed>|string
$text-
The label text, or complex radio type.
array<string, mixed>
$data-
Additional options for input generation.
Cake\View\Form\ContextInterface
$context-
The form context
Returns
string
_renderLabel() protected
_renderLabel(array<string, mixed> $radio, array<string, mixed>|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<string, mixed>
$radio-
The input properties.
array<string, mixed>|string|false
$label-
The properties for a label.
string
$input-
The input widget.
Cake\View\Form\ContextInterface
$context-
The form context.
bool
$escape-
Whether to HTML escape the label.
Returns
string|false
mergeDefaults() protected
mergeDefaults(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string, mixed>
Merge default values with supplied data.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
Returns
array<string, mixed>
render() public
render(array<string, mixed> $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.idPrefix
Prefix for generated ID attributes.
Parameters
array<string, mixed>
$data-
The data to build radio buttons with.
Cake\View\Form\ContextInterface
$context-
The current form context.
Returns
string
secureFields() public
secureFields(array<string, mixed> $data): array<string>
Returns a list of fields that need to be secured for this widget.
Parameters
array<string, mixed>
$data
Returns
array<string>
setMaxLength() protected
setMaxLength(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "maxlength" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
setRequired() protected
setRequired(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "required" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
setStep() protected
setStep(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "step" attribute if applicable.
Parameters
array<string, mixed>
$data-
Data array
Cake\View\Form\ContextInterface
$context-
Context instance.
string
$fieldName-
Field name.
Returns
array<string, mixed>
Property Detail
$_idPrefix protected
Prefix for id attribute.
Type
string|null
$_idSuffixes protected
A list of id suffixes used in the current rendering.
Type
array<string>
$_label protected
Label instance.
Type
Cake\View\Widget\LabelWidget
$_templates protected
StringTemplate instance.
Type
Cake\View\StringTemplate
$defaults protected
Data defaults.
Type
array<string, mixed>
© 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.4/class-Cake.View.Widget.RadioWidget.html