CakePHP框架Model函数定义方法示例
本文实例讲述了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优秀开发框架总结》、《codeigniter入门教程》、《ThinkPHP入门教程》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
Cakephp 执行主要流程
加载基本文件 cake/basics.php 里面定义了常用的方法以及时间常量 $TIME_START = getMicrotime(); 记录开始执行时间 cake/config/paths.php 里面定义一些基本路径 cake/lib/object.php cake的基本类 cake/lib/inflector.php 这里主要是处理单复数,带下划开命名以及驼峰式命名 cake/lib/configure.php 里面提供文件配置的读写,路径的设置,以及加载文件的方法 cake/lib/c
-
Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例
Yii的Nginx rewrite 如下为nginx yii的重写 server { set $host_path "/data/site/www.jb51.net"; access_log /data/logs/nginx/www.jb51.net_access.log main; server_name jb51.net www.jb51.net; root $host_path/htdocs; set $yii_bootstrap "index.php"; #
-
基于CakePHP实现的简单博客系统实例
本文实例讲述了基于CakePHP实现的简单博客系统.分享给大家供大家参考.具体实现方法如下: PostsController.php文件: <?php class PostsController extends AppController { public $helpers = array('Html', 'Form', 'Session'); public $components = array('Session'); public function index() { $this->set
-
cakephp2.X多表联合查询join及使用分页查询的方法
本文实例讲述了cakephp2.X多表联合查询join及使用分页查询的方法.分享给大家供大家参考,具体如下: 格式化参数: public function getconditions($data){ $this->loadModel("Cm.LoginHistory"); $conditions = array(); foreach ($data as $key=>$val){ if($key=='start_date'){ $conditions['LoginHistor
-
cakephp打印sql语句的方法
本文实例讲述了cakephp打印sql语句的方法.分享给大家供大家参考.具体实现方法如下: 将以下语句复制到你的代码中,可以打印出在这之前所有的sql语句: $sources = ConnectionManager::sourceList(); if (!isset($logs)): $logs = array(); foreach ($sources as $source): $db =& ConnectionManager::getDataSource($source); if (!$db-
-
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
1. 安装配置Apahce 安装配置Apache是比较简单的, 跟着安装向导一步步往下走就能搞定.最多就是在配置端口的地方需要注意一下,如果已经安装了其它Web服务器占用了80端口,那记得配置的时候选一个别的端口.向导中忘了设置,在Apache的conf/httpd.conf中修改下面这句就好: Listen 127.0.0.1:80 2. 安装配置PHP5 PHP5也是一路安装就完了.要让Apache能解释PHP页面,继续修改Apache的conf/httpd.conf文件. 首先,假设PHP
-
cakephp常见知识点汇总
本文实例总结了cakephp常见知识点.分享给大家供大家参考,具体如下: 1. 调用其他控制器的模板,重定向 方法一: 在此调用/views/tasks/tasks下的hello.ctp模板 $this -> viewPath = 'tasks'; $this -> render('hello'); 方法二(带参): $this->redirect(array('controller'=>'users','action'=>'welcome',urlencode($this-
-
CakePHP框架Session设置方法分析
本文实例讲述了CakePHP框架Session设置方法.分享给大家供大家参考,具体如下: CakePHP Session 存储选项 CakePHP提供给用户了3种Session数据保存方式: 1. CakePHP安装目下的临时文件; 2. 采用PHP的默认机制; 3. 或者序列化到数据库中. 对应的设置在core.php中分别为: define('CAKE_SESSION_SAVE', 'php'); # 设置为 'cake',保存session到 /cakedistro/tmp目录 # 设置为
-
CakePHP框架Model关联对象用法分析
本文实例讲述了CakePHP框架Model关联对象.分享给大家供大家参考,具体如下: CakePHP 提供关联数据表间的映射,共有4种类型的关联: hasOne,hasMany,belongTo,hasAndBelongsToMany. 设定了Model间的关联关系定义,CakePHP就会将基于关系数据库的数据映射为基于对象的关系模型. 但是你应该确保遵循CakePHP的命名规则. 命名规则中需要考虑的3个内容是,外键,model名字,表名. 外键:单数形式的 modelName_id 表名:复
-
CakePHP去除默认显示的标题及图标的方法
去除的办法是: 修改cake\libs\view\templates\layouts\default.thtml,这个是视图文件的通用模板框架(带头部和脚部). 另外: cakephp视图文件的扩展名都是thtml,这个是默认值,如果想修改后缀名也是可以的. 修改的方法是: 早cake\libs\controller\controller.php里把 var $ext='.thtml'改成html即可.
随机推荐
- 详解AngularJS中$http缓存以及处理多个$http请求的方法
- IOS 获取APP 版本号的实例详解
- PHP中遇到的时区问题解决方法
- 3种php生成唯一id的方法
- 解析如何屏蔽php中的phpinfo()函数
- Javascript中的几种URL编码方法比较
- 探讨:C++中函数返回引用的注意事项
- JS中动态添加事件(绑定事件)的代码
- PowerShell小技巧之使用New-Module命令动态创建对象
- 浅析Java中String与StringBuffer拼接的区别
- JS 退出系统并跳转到登录界面的实现代码
- iis resin使iis支持jsp
- C# 计算标准偏差相当于Excel中的STDEV函数实例
- 三层交换机发动防守反击
- Python数据可视化编程通过Matplotlib创建散点图代码示例
- java RocketMQ快速入门基础知识
- Django自定义模板过滤器和标签的实现方法
- 详解S-CMS企业建站v3几处SQL注入
- 在vue中实现点击选择框阻止弹出层消失的方法
- android TextView 设置和取消删除线的两种方法