- CakePHP 教程
- CakePHP - 主页
- CakePHP - 概述
- CakePHP - 安装
- CakePHP - 文件夹结构
- CakePHP - 项目配置
- CakePHP - 路由
- CakePHP - 控制器
- CakePHP - 视图
- CakePHP - 扩展视图
- CakePHP - 查看元素
- CakePHP - 查看活动
- CakePHP - 使用数据库
- CakePHP - 查看记录
- CakePHP - 更新记录
- CakePHP - 删除一条记录
- CakePHP - 服务
- CakePHP - 错误和异常处理
- CakePHP - 日志记录
- CakePHP - 表单处理
- CakePHP - 国际化
- CakePHP - 会话管理
- CakePHP - Cookie 管理
- CakePHP - 安全性
- CakePHP - 验证
- CakePHP - 创建验证器
- CakePHP - 分页
- CakePHP - 日期和时间
- CakePHP - 文件上传
- CakePHP 有用资源
- CakePHP - 快速指南
- CakePHP - 有用的资源
- CakePHP - 讨论
CakePHP - 表单处理
CakePHP 提供各种内置标签来轻松、安全地处理 HTML 表单。与许多其他 PHP 框架一样,HTML 的主要元素也是使用 CakePHP 生成的。以下是用于生成 HTML 元素的各种函数。
以下函数用于生成选择选项-
| 句法 | _selectOptions( 数组$elementsarray()、数组$parentsarray()、布尔值$showParentsnull、数组$attributesarray() ) |
|---|---|
| 参数 |
|
| 退货 | 大批 |
| 描述 | 返回格式化 OPTION/OPTGROUP 元素的数组 |
以下函数用于生成 HTML select 元素。
| 句法 | select( 字符串 $fieldName, 数组 $options array(), 数组 $attributes array() ) |
|---|---|
| 参数 | SELECT 的名称属性 要在 SELECT 元素中使用的 OPTION 元素数组(作为“value”=>“Text”对)。 |
| 退货 | 格式化的 SELECT 元素。 |
| 描述 | 返回格式化的 SELECT 元素。 |
以下函数用于在 HTML 页面上生成按钮。
| 句法 | 按钮(字符串 $title,数组 $optionsarray() ) |
|---|---|
| 参数 |
|
| 退货 | HTML 按钮标签。 |
| 描述 | 创建一个<button>标签。type 属性默认为type="submit"。您可以使用$options['type']将其更改为不同的值。 |
以下函数用于在 HTML 页面上生成复选框。
| 句法 | 复选框(字符串 $fieldName, 数组 $optionsarray() ) |
|---|---|
| 参数 |
|
| 退货 | HTML 文本输入元素。 |
| 描述 | 创建一个复选框输入小部件。 |
以下函数用于在 HTML 页面上创建表单。
| 句法 | 创建(混合$modelnull,数组$optionsarray()) |
|---|---|
| 参数 |
|
| 退货 | 格式化的起始 FORM 标记。 |
| 描述 | 返回 HTML FORM 元素。 |
以下函数用于在 HTML 页面上提供文件上传功能。
| 句法 | 文件(字符串 $fieldName,数组 $optionsarray() ) |
|---|---|
| 参数 |
|
| 退货 | 生成的文件输入。 |
| 描述 | 创建文件输入小部件。 |
以下函数用于在 HTML 页面上创建隐藏元素。
| 句法 | 隐藏(字符串$fieldName,数组$optionsarray()) |
|---|---|
| 参数 |
|
| 退货 | 生成的隐藏输入 |
| 描述 | 创建隐藏的输入字段 |
以下函数用于在 HTML 页面上生成输入元素。
| 句法 | 输入(字符串 $fieldName ,数组 $options array() ) |
|---|---|
| 参数 |
|
| 退货 | 已完成的表单小部件 |
| 描述 | 生成一个包含标签和包装 div 的表单输入元素 |
以下函数用于在 HTML 页面上生成单选按钮。
| 句法 | 单选(字符串$fieldName,数组$optionsarray(),数组$attributesarray()) |
|---|---|
| 参数 |
|
| 退货 | 完成的无线电小部件集 |
| 描述 | 创建一组无线电小部件。默认情况下将创建图例和字段集。使用 $options 来控制它。 |
以下函数用于在 HTML 页面上生成提交按钮。
| 句法 | 提交(字符串 $caption null,数组 $options array() ) |
|---|---|
| 参数 |
|
| 退货 | HTML 提交按钮 |
| 描述 | 创建一个提交按钮元素。此方法将生成可用于提交的 <input /> 元素,并使用 $options 重置表单。可以通过为 $caption 提供图像路径来创建图像提交。 |
以下函数用于在 HTML 页面上生成 textarea 元素。
| 句法 | 文本区域(字符串 $fieldName ,数组 $options array() ) |
|---|---|
| 参数 |
|
| 退货 | 生成的 HTML 文本输入元素 |
| 描述 | 创建一个文本区域小部件 |
例子
在config/routes.php文件中进行更改,如以下代码所示。
配置/routes.php
<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
//$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
$builder->connect('register',['controller'=>'Registrations','action'=>'index']);
$builder->fallbacks();
});
创建一个RegistrationsController.php文件
src/Controller/RegistrationsController.php。将以下代码复制到控制器文件中。
src/Controller/RegistrationsController.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处创建一个Registrations目录,并在该目录下创建一个名为 index.php 的视图文件。将以下代码复制到该文件中。
src/模板/注册/index.php
<?php
echo $this->Form->create(NULL,array('url'=>'/register'));
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/cakephp4/注册
输出
执行后,您将收到以下输出。
