{$values['type']}($values, $extras); return $result; } /** * Gestione dell'input di tipo "checkbox". * Esempio: {[ "type": "checkbox", "label": "Checkbox di test", "placeholder": "Test", "name": "checkbox", "value": "1" ]}. * * @param array $values * @param array $extras * * @return string */ protected function checkbox(&$values, &$extras) { unset($values['class'][0]); // Restrizione dei valori permessi $values['value'] = (empty($values['value']) || $values['value'] == 'off') ? false : true; // Gestione della proprietà "checked" if (!empty($values['value']) && !in_array('checked', $extras)) { $extras[] = 'checked'; } // Gestione della proprietà "readonly" if (in_array('readonly', $extras)) { $extras[] = 'disabled'; } $class = ''; if (in_array('disabled', $extras)) { $class = ' disabled'; } // Gestione dei placeholder $values['placeholder'] = isset($values['placeholder']) ? $values['placeholder'] : $values['label']; // Generazione del codice HTML // "+ this.checked" rende il valore booleano un numero $result = '