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.
string|null
Prefix for id attribute.
array<string>
A list of id suffixes used in the current rendering.
Cake\View\Widget\LabelWidget
Label instance.
Cake\View\StringTemplate
StringTemplate instance.
array<string, mixed>
Data defaults.
Constructor
Clear the stored ID suffixes.
Generate an ID suitable for use in an ID attribute.
Generate an ID attribute for an element.
Generate an ID suffix.
Disabled attribute detection.
Renders a single radio input and label.
Renders a label element for a given radio button.
Merge default values with supplied data.
Render a set of radio buttons.
Returns a list of fields that need to be secured for this widget.
Set value for "maxlength" attribute if applicable.
Set value for "required" attribute if applicable.
Set value for "step" attribute if applicable.
__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 variables name
, value
, attrs
.radioWrapper
Used to generate the container element for the radio + input element. Can use the input
and label
variables.Cake\View\StringTemplate
$templates Templates list.
Cake\View\Widget\LabelWidget
$label Label widget instance.
_clearIds(): void
Clear the stored ID suffixes.
void
_domId(string $value): string
Generate an ID suitable for use in an ID attribute.
string
$value The value to convert into an ID.
string
_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.
string
$name The ID attribute name.
string
$val The ID attribute value.
string
_idSuffix(string $val): string
Generate an ID suffix.
Ensures that id's for a given set of fields are unique.
string
$val The ID attribute value.
string
_isDisabled(array<string, mixed> $radio, array|true|null $disabled): bool
Disabled attribute detection.
array<string, mixed>
$radio Radio info.
array|true|null
$disabled The disabled values.
bool
_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.
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
string
_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.
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.
string|false
mergeDefaults(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string, mixed>
Merge default values with supplied data.
array<string, mixed>
$data Data array
Cake\View\Form\ContextInterface
$context Context instance.
array<string, mixed>
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.array<string, mixed>
$data The data to build radio buttons with.
Cake\View\Form\ContextInterface
$context The current form context.
string
secureFields(array<string, mixed> $data): array<string>
Returns a list of fields that need to be secured for this widget.
array<string, mixed>
$data array<string>
setMaxLength(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "maxlength" attribute if applicable.
array<string, mixed>
$data Data array
Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array<string, mixed>
setRequired(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "required" attribute if applicable.
array<string, mixed>
$data Data array
Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array<string, mixed>
setStep(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>
Set value for "step" attribute if applicable.
array<string, mixed>
$data Data array
Cake\View\Form\ContextInterface
$context Context instance.
string
$fieldName Field name.
array<string, mixed>
Prefix for id attribute.
string|null
A list of id suffixes used in the current rendering.
array<string>
Label instance.
Cake\View\Widget\LabelWidget
StringTemplate instance.
Cake\View\StringTemplate
Data defaults.
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