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
Выход
После выполнения вы получите следующий вывод.