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
-
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
-
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框架Model关联对象用法分析
本文实例讲述了CakePHP框架Model关联对象.分享给大家供大家参考,具体如下: CakePHP 提供关联数据表间的映射,共有4种类型的关联: hasOne,hasMany,belongTo,hasAndBelongsToMany. 设定了Model间的关联关系定义,CakePHP就会将基于关系数据库的数据映射为基于对象的关系模型. 但是你应该确保遵循CakePHP的命名规则. 命名规则中需要考虑的3个内容是,外键,model名字,表名. 外键:单数形式的 modelName_id 表名:复
-
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去除默认显示的标题及图标的方法
去除的办法是: 修改cake\libs\view\templates\layouts\default.thtml,这个是视图文件的通用模板框架(带头部和脚部). 另外: cakephp视图文件的扩展名都是thtml,这个是默认值,如果想修改后缀名也是可以的. 修改的方法是: 早cake\libs\controller\controller.php里把 var $ext='.thtml'改成html即可.
-
基于CakePHP实现的简单博客系统实例
本文实例讲述了基于CakePHP实现的简单博客系统.分享给大家供大家参考.具体实现方法如下: PostsController.php文件: <?php class PostsController extends AppController { public $helpers = array('Html', 'Form', 'Session'); public $components = array('Session'); public function index() { $this->set
-
配置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打印sql语句的方法
本文实例讲述了cakephp打印sql语句的方法.分享给大家供大家参考.具体实现方法如下: 将以下语句复制到你的代码中,可以打印出在这之前所有的sql语句: $sources = ConnectionManager::sourceList(); if (!isset($logs)): $logs = array(); foreach ($sources as $source): $db =& ConnectionManager::getDataSource($source); if (!$db-
随机推荐
- AngularJS表达式讲解及示例代码
- inst.exe,Setup.exe木马Trojan-PSW.Win32.Magania.cjy解决方法
- Git 详细介绍查看、删除、重命名远程分支和tag
- 用javascript连接access数据库的方法
- 图文详解本地Windows 7/8上IIS服务器搭建教程
- 详解Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
- python模拟登陆阿里妈妈生成商品推广链接
- Ajax实现城市二级联动(一)
- 跟我学习javascript的异步脚本加载
- C#中类与结构的区别实例分析
- Android获取本地相册图片和拍照获取图片的实现方法
- Android仿银行客户签名并且保存签名的截图文件并命名为本地时间
- 扔掉VPS面板!网站平滑迁移到LNMP或LAMP建站环境的方法图解
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- C#操作XML文件实例汇总
- listview的上滑下滑监听,上下滑监听隐藏顶部选项栏的实例
- 使用Python读取二进制文件的实例讲解
- OpenCV实现拼接图像的简单方法
- 使用python来调用CAN通讯的DLL实现方法
- Laravel框架路由设置与使用示例