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 相关文章推荐
我的论坛源代码(三)
Oct 09 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
用php的ob_start来生成静态页面的方法分析
Mar 09 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
php二维数组排序方法(array_multisort usort)
Dec 25 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
Feb 26 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
Nov 16 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
PHP实现简单日历类编写
Aug 28 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
Nov 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
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
Django models文件模型变更错误解决
2020/05/11 Python
canvas画布实现手写签名效果的示例代码
2019/04/23 HTML / CSS
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
执行力心得体会
2013/12/31 职场文书
小学生家长评语集锦
2014/01/30 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
2014教师研修学习体会
2014/07/08 职场文书
村级个人对照检查材料
2014/08/22 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL