CakePHP框架Model函数定义方法示例


Posted in PHP onAugust 04, 2017

本文实例讲述了CakePHP框架Model函数定义方法。分享给大家供大家参考,具体如下:

在CakePHP中,MVC的架构是清晰的,而在实际做项目中,我发现仍然有很多人喜欢在Controller中堆砌函数,这样做也未尝不可,但是,作为一个百万行级的大项目来说,这种违背MVC思想的做法虽然可能暂时给程序结构带来便利,但从长远来看,是万万不可取的!

我们应该将系统常用到的某些函数定义在Model中,特别是纯粹的的数据处理函数和数据查询函数:

譬如,在Blog中像下面这样的条件查询:

/*
*
*  Blog 根据条件得到相应字段结果集
*
* @Param  array  conditions
*      array  fields
* @Return  array
*
*/
function getBlogsByCon($conditions = array(),$fields = null){
  return $this->find('all',array(
      'conditions'=>ife(count($conditions) > 0, am(array('`Blog`.`status` = 1'),$conditions), array('`Blog`.`status` = 1')),
      'fields'=>$fields,
      'order'=>'`Blog`.`created` DESC',
      'page'=>1,
      'recursive'=>0));
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
php传值和传引用的区别点总结
Nov 19 PHP
CakePHP框架Model关联对象用法分析
Aug 04 #PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 #PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 #PHP
php7安装yar扩展的方法详解
Aug 03 #PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 #PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 #PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 #PHP
You might like
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
微信小程序实现吸顶特效
2020/01/08 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
前台文员岗位职责及工作流程
2013/11/19 职场文书
高中军训广播稿
2014/01/14 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
刊首寄语大全
2014/04/11 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
史上最牛辞职信
2015/05/13 职场文书
驻村工作简报
2015/07/20 职场文书
升学宴学生致辞
2015/07/27 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
PHP解决高并发问题
2021/04/01 PHP
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android