CakePHP提供了各种内置标签,可以轻松安全地处理HTML表单.与许多其他PHP框架一样,HTML的主要元素也是使用CakePHP生成的.以下是用于生成HTML元素的各种函数.
以下函数用于生成选择选项.
语法 | _selectOptions(array $ elements array (),array $ parents array(),boolean $ showParents null,array $ attributes array()) |
参数 |
|
返回 | 数组 |
描述 | 返回格式化OPTION/OPTGROUP元素的数组 |
使用以下函数生成HTML选择元素.
语法 | select(string $ fieldName,array $ options array(),array $ attributes array()) |
参数 | SELECT的名称属性 OPTION元素的数组(作为'value'=>'Text' SELECT元素用于SELECT元素 select元素的HTML属性. |
返回 | 格式化的SELECT元素 |
描述 | 返回格式化的SELECT元素 |
以下函数在HTML页面上使用生成按钮.
语法 | 按钮(字符串 $ title ,数组 $ options array()) |
参数 |
|
返回 | HTML按钮标记. |
描述 | 创建< button> 标记. type属性默认为 type ="submit ".您可以使用 $ options ['type'] 将其更改为其他值. |
在HTML页面上使用以下函数生成复选框.
语法 | 复选框(字符串$ fieldName,数组$ options array()) |
参数 |
|
返回 | HTML文本输入元素. |
描述 | 创建一个复选框输入小部件. |
以下在HTML页面上使用函数创建表单
.
语法 | create(mixed $ model null,array $ options array()) |
参数 |
|
返回 | 格式化的开始FORM标记. |
描述 | 返回HTML FORM元素. |
以下函数用于在HTML页面上提供文件上传功能.
语法 | file(string $ fieldName ,array $ options array()) |
参数 |
|
返回 | 生成的文件输入. |
描述 | 创建文件输入小部件. |
以下函数用于在HTML页面上创建隐藏元素 .
语法 | hidden(字符串$ fieldName,数组$ options array()) |
参数 |
|
返回 | 生成的隐藏输入 |
描述 | 创建一个隐藏的输入字段 |
以下函数用于在HTML页面上生成输入元素.
语法 | 输入(字符串$ fieldName,array $ o ptions array()) |
参数 |
|
返回 | 已完成的表单小部件 |
描述 | 生成一个带有标签和包装器div的表单输入元素 |
使用以下函数在HTML页面上生成单选按钮.
语法 | Radio(string $ fieldName ,array $ options array(),array $ attributes array()) |
参数 |
|
返回 | 已完成的电台小工具set |
描述 | 创建一组无线电小部件.默认情况下会创建图例和字段集.使用$ options来控制它. |
以下函数用于生成 submit 按钮在HTML页面上.
语法 | 提交(字符串$ caption null,数组$ options array()) |
参数 |
|
返回 | HTML提交按钮 |
说明 | 创建提交按钮元素.该方法将生成< input/>可用于通过使用$ options提交和重置表单的元素.可以通过为$ caption提供图像路径来创建图像提交. |
以下函数用于在HTML页面上生成textarea元素.
语法 | Textarea(字符串$ fieldName,数组$ options array()) |
参数 |
|
返回 | 生成的HTML文本输入元素 |
描述 | 创建textarea小部件 |
在 config/routes.php中进行更改文件如下面的代码所示.
config/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();
在 src/Controller/RegistrationController.php 创建 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 创建一个目录注册,并在该目录下创建一个名为
src/Template/Registrations/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
执行后,您将收到以下输出.