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 开发环境配置(测试开发环境)
Apr 28 PHP
php知道与问问的采集插件代码
Oct 12 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
May 07 PHP
PHP header函数分析详解
Aug 06 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
php+mysql数据库查询实例
Jan 21 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
Laravel 实现数据软删除功能
Aug 21 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用mysql数据库存储session的代码
2010/03/05 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python 排列组合之itertools
2013/03/20 Python
python在windows下实现备份程序实例
2014/07/04 Python
详解Python字符串对象的实现
2015/12/24 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
Python爬虫与反爬虫大战
2020/07/30 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
求职自荐信格式
2013/12/04 职场文书
ktv收银员岗位职责
2013/12/16 职场文书
实习报告评语
2014/04/26 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
网络技术专业求职信
2014/07/13 职场文书
综合办公室岗位职责
2015/04/11 职场文书
2016高考寄语集锦
2015/12/04 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
Java中的随机数Random
2022/03/17 Java/Android
使用Python获取字典键对应值的方法
2022/04/26 Python
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers