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手册及PHP编程标准
Dec 17 PHP
php学习笔记之 函数声明
Jun 09 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
Nov 10 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 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实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
javascript eval函数深入认识
2009/02/21 Javascript
javascript 面向对象编程基础 多态
2009/08/21 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
js面向对象的写法
2016/02/19 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
bootstrap响应式表格实例详解
2017/05/15 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
Python数据结构之图的应用示例
2018/05/11 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
简单分析python的类变量、实例变量
2019/08/23 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
Redis 限流器
2022/05/15 Redis
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL