1. controller需要调用来自不同model中的数据时,在controller文件中加上:
var $users = array(‘Post’, ‘User’);
2. model文件对应的db不存在 :
var $useTable = false;
同时,改变model对应的表名 :
var $useTable = ‘some_table’;
3. 组件 :
(1) 自定义组件:创建app/controllers/components/math.php文件 。
<?php class MathComponent extends Object { function doComplexOperation($amount1, $amount2) { return $amount1 + $amount; } } ?>
(2) 在控制器中引用组件 :
$components = array(‘Math’,‘Session’);
(3) 在组件中使用其他组件 :
<?php class CustomComponent extends Object { var $name = "Custom"; // 组件名称 var $components = array( "Existing" ); // 使用的其它组件 function initialize(&$controller) { $this->Existing->foo(); } function bar() { // ... } } ?>
4. 配置组件(Auth、Cookie、Email等) 在控制器(Controller)中的beforeFilter() 方法中完成。
组件可以有beforeRender和beforeRedirect回调函数,会分别在页面被输出之前或被重定向之前被调用。(可以设置组件的enable属性为false来禁止函数被调用)
5. 保存数据
(1) save保存格式化后的数据数组:
save(array $data = null, boolean $validate = true, array $fieldList = array())
注:当save()被调用时,被传递的第一个参数首先将被cakephp的校验机制进行校验,若验证条件失败,则会导致保存数据失败。
(2) create方法重置模型的状态信息:
create(array $data = array());
如果参数$data(同样应该是前面提到的数组格式)被传递,那么模型的实例将会为保存该数据(可以通过$this->data访问)做好准备。
(3) saveField方法保存单个字段:
saveField(string $fieldName, string $fieldValue, $validate = false)
6. Session组件常用于交互会话信息,所包含常用方法及用法如下:
(1) write($name, $value);
把 $value 值 写入到名 为 $name 的 session 里面。 $name 能使用 “ 点 ” 分割数 组 。 譬如:
$this->Session->write('Person.eyeColor', 'Green');
(2) read($name);
将 session 中名为 $name 的值读取出来。 $name 能使用“点”分割数组.
(3) delete($name);
将 session 中名为 $name 的值删除.
(4) $this->Session->destory();
删除所有的Session保存值。
(5) 用于设置会话变量,可以在视图页面进行输出.
例:$this->Session->setFlash(__('Member\'s registration succeeded', true));
7. 由控制器向视图页面传值。
控制器代码:
$username = $member['Member']['username']; $name = $this->data['Member']['name']; $name_kana = $this->data['Member']['name_kana']; $address1 = $this->data['Member']['address1']; $address2 = $this->data['Member']['address2']; $tell = $this->data['Member']['tell']; $zip = $this->data['Member']['zip']; $birth_date = explode('-', $member['Member']['birth_date']); $age = date('Y') - $birth_date[0]; $sex = $this->Code->field('name', array('Code.cd' => $member['Member']['sex'])); $this->set(compact('username','name','name_kana','address1','address2','tell','zip','age','sex'));
视图页面代码:
<?php echo $username.$name.$name_kana.$address1.$address2.$tell.$zip; ?>
8 . 日期选择框的应用。
(1) 默认日期:2000-1-1
echo $this->Form->year('birth_date', 1930, date('Y'), 2000, array('empty'=>false)).'年' .$this->Form->month('birth_date', 1,array('monthNames'=>false,'empty'=>false)).'月' .$this->Form->day('birth_date', 1,array('empty'=>false)).'日';
注: 'monthNames' ------ 数字显示,不定义则显示字母类型 'empty' ------ 取消首个空白记录
(2) 无默认日期
echo $this->Form->year('birth_date', 1930, date('Y'), null, array('empty'=>false)).'年' .$this->Form->month('birth_date',null,array('monthNames'=>false,'empty'=>false)).'月' .$this->Form->day('birth_date',null,array('empty'=>false)).'日';
(3) 组合format形式(无默认日期)
echo $this->Form->input('birth_date', array('dateFormat' => 'MDY', 'minYear' => 1930, 'maxYear' => date('Y'), 'separator'=>' '));
(4) 组合format形式(默认日期:2000-1-1)
echo $this->Form->input('birth_date', array('dateFormat' => 'MDY', 'minYear' => 1930, 'maxYear' => date('Y'), 'selected' => '2000-1-1', 'separator'=>' '));
9 .错误信息的处理
(1)在app/app_error.php文件中的AppError类中添加一个新方法。
<?php class AppError extends ErrorHandler { function businessError($params) { $this->controller->set('msg', $params['msg']); $this->_outputMessage('business_error'); } } ?>
(2) 创建视图文件 app/views/errors/business_error.ctp
<?php echo $msg; ?>
(3) 在控制器、组件中抛出错误信息
$this->cakeError('businessError', array('msg'=>'URL wrong'));
近期本人开通了微信订阅号“CakePHP学习”,欢迎大家的关注。
相关推荐
标题 "cakephp-cakephp-1.3.8-0-g33afe21" 提供的信息表明,这是一个关于 CakePHP 框架的特定版本,版本号为 1.3.8,Git 修订版号是 0-g33afe21。这通常意味着这是一个开源项目,可能是一个源代码库的归档,或者是...
"cakephp-cakephp-2.0.0-dev-0-gbe96338" 是CakePHP框架的一个特定版本,它代表了该框架在2.0大版本中的一个开发分支。此版本在官方网站上可获取,确保了其官方支持和更新,为开发者提供了稳定且安全的开发环境。 ...
CakePHP3-Proffer, CakePHP 3的上传插件 CakePHP3-ProfferCakePHP 3的上传插件。 是什么?,needed upload upload upload upload upload upload upload plugin plugin plugin
标题中的"cakephp-cakephp-2.0.0-beta-0-g402934f.zip"表明这是一个针对CakePHP 2.0.0 beta版本的压缩包,其中可能包含了框架的核心组件、示例代码以及相关的文档资料。 在描述中提到,CakePHP是“借鉴Raid on ...
There are two main ways to get a fresh copy of CakePHP. You can either download an archive copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download ...
在CakePHP 1.3 版本中,这一模式的应用使得开发者能够快速构建功能丰富的Web应用。以下是一些关键特性: - **自动路由**:CakePHP通过自动路由机制,将URL映射到相应的控制器和动作,简化了URL管理。 - ** Bake...
### 使用CakePHP的Session和Request Handler组件 #### Session组件概览 在CakePHP框架中,Session组件被设计用于管理用户的会话数据,确保网站能够识别并处理特定用户的状态。这在用户登录、购物车功能、个性化...
cakephp-2.2.4-0 稳定版框架
这个名为"CakePHP插件-将Ajax聊天添加到您的应用程序"的资源是为开发者提供了一种集成实时聊天功能的方式,使他们能够在自己的CakePHP应用中轻松实现用户间的交互。 Ajax(Asynchronous JavaScript and XML)是一种...
CakePHP 3.x Bootstrap的帮助器 CakePHP 3.x Helpers以@Twitter Boostrap样式生成HTML:可用的Breadcrumbs , Flash , Form , Html , Modal , Navbar , Panel和Paginator帮助器! 如何... ? 安装 如果您想要...
cakephp-jwt-auth, 使用JSON网络令牌进行身份验证的CakePHP插件 CakePHP认证插件 包含AuthComponent类认证的插件,用于使用 JSON网络令牌进行身份验证。 你可以在这里详细阅读关于JSON网络令牌规范的详细说明。要求...
CakePHP 3.0.1 发布,此版本是个 bug 修复版本 CakePHP 3.0.0 稳定版是向后不兼容版本,现在 CakePHP 最低要求: PHP 5.4.16 及其以上 mbstring 扩展 intl 扩展
CakePHP-Audit-Log-Plugin, 记录在CRUD操作期间对对象所做的更改 审计日志插件针对的日志插件 2 1. x. 为每个连接的模型创建一个审计历史。行为跟踪两个级别上的更改。 它获取完全水合对象的快照,在更改之后,更改...
Codetron-cakephp2-api 功能特点 - **自动路由**:该插件能够自动生成 API 路由,减少手动配置的繁琐工作。 - **JSON 格式支持**:插件默认处理 JSON 数据,方便与移动应用或前后端分离的架构集成。 - **错误处理*...
composer require admad/cakephp-jwt-auth 用法 使用Cake的控制台加载插件: ./bin/cake plugin load ADmad/JwtAuth 配置: 设置AuthComponent : // In your controller, for e.g. src/Api/AppController.php ...
CakePHP的CakeSoftDelete插件 目的 这个Cakephp插件使您可以使您的模型可软删除。 当软删除一个实体时,实际上并没有从数据库中删除它。 而是在记录上设置了deleted时间戳。 要求 该插件是为cakephp 3.x开发的。 ...
以下是一些常用的方法: 1. **bind(params)**: 绑定模型到其他模型。 2. **create([data])**: 创建一个用于保存的新记录,可选传入初始数据。 3. **delete([id,cascade])**: 删除指定ID的记录,可选参数cascade用于...
cakephp2.0-metronic-theme 如何设置应用程序? 使用以下命令在apache webroot目录中克隆代码。 git 克隆 创建数据库并设置连接 Config/database.php 运行以下命令以使用 composer > composer install 安装 ...
示例CakePHP代码库包含遵循规范和API的真实示例(CRUD,身份验证...cd cakephp-realworld-example-app 使用composer安装所有依赖项 composer install 在config/app.php文件中配置数据库设置(请参阅:数据源/默认) v
cakephp3-uploadBehavior 这是一个简单的行为,禁止附加到 cakePHP3 模型/表。 它将获取上传的文件并将它们复制到配置的上传文件夹。 使用行为 要使用该行为,您必须将其添加到模型中。 由于 cakePHP3 中的 Models ...