CakePHP предоставляет различные встроенные теги для простой и безопасной обработки HTML-форм. Как и многие другие PHP-фреймворки, основные элементы HTML также генерируются с использованием CakePHP. Ниже приведены различные функции, используемые для генерации элементов HTML.
Следующие функции используются для генерации опций выбора.
| Синтаксис | _selectOptions (массив $ elements array (), массив $ parent array (), логическое $ showParents null, массив $ attribute array ()) |
| параметры |
|
| Возвращает | массив |
| Описание | Возвращает массив отформатированных элементов OPTION / OPTGROUP |
Элементы для форматирования
Родители для OPTGROUP
Стоит ли показывать родителям
Атрибуты HTML
Следующие функции используются для генерации элемента выбора HTML .
| Синтаксис | select (строка $ fieldName, массив $ options array (), array $ attribute array ()) |
| параметры |
Имя атрибута SELECT Массив элементов OPTION (в виде пар ‘value’ => ‘Text’) для использования в элементе SELECT HTML-атрибуты элемента select. |
| Возвращает | Отформатированный элемент SELECT |
| Описание | Возвращает отформатированный элемент SELECT |
Имя атрибута SELECT
Массив элементов OPTION (в виде пар ‘value’ => ‘Text’) для использования в элементе SELECT
HTML-атрибуты элемента select.
Следующие функции используются для создания кнопки на странице HTML.
| Синтаксис | Кнопка (строка $ title , array $ options array ()) |
| параметры |
|
| Возвращает | HTML-тег кнопки. |
| Описание | Создает тег <button> . Атрибут type по умолчанию равен type = «submit «. Вы можете изменить его на другое значение, используя $ options [‘type’] . |
Заголовок кнопки. Не кодируется автоматически в HTML.
Массив опций и атрибутов HTML.
Следующие функции используются для создания флажка на странице HTML.
| Синтаксис | Флажок (строка $ fieldName, массив $ options array ()) |
| параметры |
|
| Возвращает | Элемент ввода текста HTML. |
| Описание | Создает виджет ввода флажка. |
Имя поля, например «Modelname.fieldname»
Массив атрибутов HTML. Возможные варианты: значение, флажок, скрытое поле, отключено, значение по умолчанию.
Следующие функции используются для создания формы на странице HTML.
| Синтаксис | создать (смешанный $ модель ноль, массив $ параметры array ()) |
| параметры |
|
| Возвращает | Отформатированный открывающий тег FORM. |
| Описание | Возвращает элемент HTML FORM. |
Название модели, для которой определяется форма. Должен включать название плагина для моделей плагинов. например, ContactManager.Contact. Если массив передан, а аргумент $ options пуст, массив будет использоваться как опции. Если false, модель не используется.
Массив атрибутов и опций HTML. Возможные варианты: тип, действие, URL, по умолчанию, onsubmit, inputDefaults, кодировка
Следующие функции используются для обеспечения возможности загрузки файлов на HTML-странице.
| Синтаксис | файл (строка $ fieldName , массив $ options array ()) |
| параметры |
|
| Возвращает | Сгенерированный файл ввода. |
| Описание | Создает виджет ввода файла. |
Имя поля, в форме «Modelname.fieldname»
Массив атрибутов HTML.
Следующие функции используются для создания скрытого элемента на странице HTML.
| Синтаксис | скрытый (строка $ fieldName, массив $ options array ()) |
| параметры |
|
| Возвращает | Сгенерированный скрытый вход |
| Описание | Создает скрытое поле ввода |
Имя поля в виде «Modelname.fieldname»
Массив атрибутов HTML.
Следующие функции используются для создания элемента ввода на странице HTML.
| Синтаксис | Ввод (строка $ fieldName, массив $ options array ()) |
| параметры |
|
| Возвращает | Заполненный виджет формы |
| Описание | Создает элемент ввода формы с меткой и оберткой |
Это должно быть «Modelname.fieldname»
Каждый тип ввода принимает разные параметры
Следующие функции используются для генерации переключателя на странице HTML.
| Синтаксис | Радио (строка $ fieldName , массив $ options array (), array $ attribute array ()) |
| параметры |
|
| Возвращает | Завершен набор радио виджетов |
| Описание | Создает набор радио виджетов. Создает легенду и набор полей по умолчанию. Используйте $ options, чтобы контролировать это. |
Имя поля, например «Modelname.fieldname»
Массив опций переключателей.
Массив атрибутов HTML и специальных атрибутов выше.
Следующие функции используются для генерации кнопки отправки на странице HTML.
| Синтаксис | Submit (строка $ caption null, массив $ options array ()) |
| параметры |
|
| Возвращает | Кнопка отправки HTML |
| Описание | Создает элемент кнопки отправки. Этот метод будет генерировать элементы <input />, которые можно использовать для отправки и сброса форм с помощью параметров $. Отправка изображений может быть создана путем указания пути к изображению для $ caption. |
Метка, появляющаяся на кнопке ИЛИ, если строка содержит: // или расширение .jpg, .jpe, .jpeg, .gif, .png использовать изображение, если расширение существует, И первый символ — /, изображение относится к webroot , ИЛИ, если первый символ не /, изображение относительно webroot / img.
Массив опций. Возможные варианты: div, before, after, тип и т. Д.
Следующие функции используются для генерации элемента textarea на странице HTML.
| Синтаксис | Текстовое поле (строка $ fieldName, array $ options array ()) |
| параметры |
|
| Возвращает | Сгенерированный элемент ввода текста HTML |
| Описание | Создает виджет текстовой области |
Имя поля, в форме «Modelname.fieldname»
Массив атрибутов HTML, специальная опция, например escape
пример
Внесите изменения в файл config / rout.php, как показано в следующем коде.
конфиг / routes.php
<?php use Cake\Core\Plugin; use Cake\Routing\RouteBuilder; use Cake\Routing\Router; Router::defaultRouteClass('DashedRoute'); Router::scope('/', function (RouteBuilder $routes) { $routes->connect('register',['controller'=>'Registrations','action'=>'index']); $routes->fallbacks('DashedRoute'); }); Plugin::routes();
Создайте файл RegistrationController.php в каталоге src / Controller / RegistrationController.php . Скопируйте следующий код в файл контроллера.
SRC / Controller / RegistrationController.php
<?php
namespace App\Controller;
use App\Controller\AppController;
class RegistrationsController extends AppController{
public function index(){
$country = array('India','United State of America','United Kingdom');
$this->set('country',$country);
$gender = array('Male','Female');
$this->set('gender',$gender);
}
}
?>
Создайте каталог Регистрация в src / Template и в этом каталоге создайте файл View с именем index.ctp . Скопируйте следующий код в этот файл.
SRC / Template / зарегистрирования / index.ctp
<?php
echo $this->Form->create("Registrations",array('url'=>'/register'));
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->input('password');
echo '<label for="country">Country</label>';
echo $this->Form->select('country',$country);
echo '<label for="gender">Gender</label>';
echo $this->Form->radio('gender',$gender);
echo '<label for="address">Address</label>';
echo $this->Form->textarea('address');
echo $this->Form->file('profilepic');
echo '<div>'.$this->Form->checkbox('terms').
'<label for="country">Terms &Conditions</label></div>';
echo $this->Form->button('Submit');
echo $this->Form->end();
?>
Выполните приведенный выше пример, посетив следующий URL — http: // localhost: 85 / CakePHP / register
Выход
После выполнения вы получите следующий вывод.