CakePHP学习笔记

     自己在工作当中从简单应用到初步掌握CakePHP框架,觉得有很多点是需要刚刚接触Cake这块大蛋糕的人所应该注意的,于是将平日里积累下来的小问题总结一下,希望对大家有所帮助:

 

1. CakePHP系统中 cakevendors 保持默认,不可随意修改;项目开始时 首先要编辑配置 app/config/core.phpdatabase.php 文件;

2. Cake开发为MVC模式, 要将应用文件 添加 到 app 下的 M(Models)V(views)C(controllers) 文件夹下;

3. 数据库表命名不能与 cakephp 系统冲突,如 objectsinformation 均不可取; 表中字段 id ,外键 host_id;

4.form 表单的创建: $form->create( string $model = null,array $options = array() );

   参数可以自选

5. 视图 文件名不能为大写,如: auditRefuse.ctp 它会解释为: audit_refuse.ctp.

6. 在某一具体的 action 函数中设置自身应用的 layout,代码如示$this->layout="myself_layout";

7. 当数据库字段修改后,要及时将缓存清空,具体路径为: app/tmp/cache/models/;同时位于app/tmp/logs/下的调试日志与错误日志均可删除(尤其是项目上传服务器时)。

8.分页视图中$paginator<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> 调用 cake\libs\view\helpers 下的 paginator.php 文件中的函数,具体参数格式如下:

   $paginator->first' 首页 ',array();

   $paginator->prev' 上一页 ',array(),null,null;

   $paginator->numbersarray()

   $paginator->next' 下一页 ',array(),null,null;

   $paginator->last(' 尾页 ',array());

9. 复杂条件查询时, cake 会将 where 的多个条件默认为 and 连接,如想将 $cond['conditions'][] 数组下的条件改为 or 连接,则可以使用 $cond['conditions'] = array("or",$cond['conditions']);

Cake 可以接受所有有效地布尔运算,如: andornot 等,大小写不敏感。

10. 去除 $html->link 下划线,加上

$html->link(‘xx’,array(),array('style'=>'TEXT-DECORATION:none;') );

11. 校验信息不显示:

(1). 打印 $this->validateErrors() 可以看到错误,在页面上相应的错误显示出来就行了

(2). 保证 validate 数组格式正确;

代码方面,当 save ()失败或初始时,可能执行了 $this->data = $this->XXX->read();

12. 对session的操作:

    $this->session->destroy();  此方法将删除所有的会话cookie和所有临时文件系统中存储的数据,然后它将破坏php的会话,创建一个新的会话;

    $this->session->delete($testname);  此方法将清除会话数据元名称所对应的session值。

13. render() 与 redirect()

    render()试图显示,当显示到页面后,还可以执行action中的程序代码;而redirect是重定向,可以控制程序的跳转执行。

 

     CakePHP是一个开源的PHP on rails的full-stack framework。由Ruby On Rails框架衍生而来,它所包含的绝不仅仅是这些东西,还有很多的方面需要我们在实际应用中去体会,去锤炼,同时,它预置的快速且不失灵活性的方式来开展我们的工作,就像它的名字一样,吸引我们去享受它...

 

近期本人开通了微信订阅号“CakePHP学习”,欢迎大家的关注。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值