Class RadioWidget
Input widget class for generating a set of radio buttons.
This class is intended as an internal implementation detail of Cake\View\Helper\FormHelper and is not intended for direct use.
Property Summary
- 
        $_idPrefix protectedstring|nullPrefix for id attribute. 
- 
        $_idSuffixes protectedarrayA list of id suffixes used in the current rendering. 
- 
        $_label protectedCake\View\Widget\LabelWidgetLabel instance. 
- 
        $_templates protectedCake\View\StringTemplateTemplate instance. 
Method Summary
- 
          __construct() publicConstructor 
- 
          _clearIds() protectedClear the stored ID suffixes. 
- 
          _domId() protectedGenerate an ID suitable for use in an ID attribute. 
- 
          _id() protectedGenerate an ID attribute for an element. 
- 
          _isDisabled() protectedDisabled attribute detection. 
- 
          _renderInput() protectedRenders a single radio input and label. 
- 
          _renderLabel() protectedRenders a label element for a given radio button. 
- 
          render() publicRender a set of radio buttons. 
- 
          secureFields() publicReturns a list of fields that need to be secured for this widget. Fields are in the form of Model[field][suffix] 
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 variables- name,- value,- attrs.
- radioWrapperUsed to generate the container element for the radio + input element. Can use the- inputand- labelvariables.
Parameters
- 
                Cake\View\StringTemplate$templates
- Templates list. 
- 
                Cake\View\Widget\LabelWidget$label
- Label widget instance. 
_domId() ¶ protected
_domId(string $value): stringGenerate an ID suitable for use in an ID attribute.
Parameters
- 
                string$value
- The value to convert into an ID. 
Returns
stringThe generated id.
_id() ¶ protected
_id(string $name, string $val): stringGenerate 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
stringGenerated id.
_isDisabled() ¶ protected
_isDisabled(array $radio, array|null|true $disabled): boolDisabled attribute detection.
Parameters
- 
                array$radio
- Radio info. 
- 
                array|null|true$disabled
- The disabled values. 
Returns
bool_renderInput() ¶ protected
_renderInput(string|int $val, string|array $text, array $data, Cake\View\Form\ContextInterface $context): stringRenders 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, false|string|array $label, string $input, Cake\View\Form\ContextInterface $context, bool $escape): string|boolRenders 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. 
- 
                false|string|array$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|boolGenerated label.
render() ¶ public
render(array $data, Cake\View\Form\ContextInterface $context): stringRender 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): arrayReturns a list of fields that need to be secured for this widget. Fields are in the form of Model[field][suffix]
Parameters
- 
                array$data
Returns
array