`
lesorb
  • 浏览: 120978 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
helper顾名思义就是帮助类,主要运用于视图view层. CakePHP在设计之初就充分考虑到了扩充性,在view中,常常会遇到需要处理的并且会多次重复使用到的框架,元素,部份数据...譬如:图表,编辑器等. 这个时候,就是helper大显身手的时候: 在CakePHP中,helper一般位于app/view/helper/目录下,当然这里指的是自己扩充的helper. helper其实就是一个类库,他的命名也应该遵循CakePHP的相关{变形}法则. 像引入Tinymce编辑器的一个常用的helper帮助类如下: class TinymceHelper extends Helpe ...
当对指定URL发起请求时,CakePHP首先检查该URL是否已经被缓存.如果已被缓存,CakePHP就会绕开分发器(dispatcher.php)直接返回已经缓存起来的页面.反之,则通过正常的机制来输出视图. 如果已经激活Cake缓存机制,Cake会缓存输出的页面已备下次调用。 可以选择缓存某些页面,也可以标记某部分视图不被缓存. Cache工作设置: 默认情况下,页面缓存机制是禁用的.为了要激活这个功能,首先要在/app/config/core.php中将CACHE_CHECK的值设为true. 在希望缓存的视图所对应的controller中包含CacheHelper: var $he ...
CakePHP中paginate是一个处理分页数据的函数. 配合helper(有关信息请关注后续文章)里的Paginator方法,可以很容易的做出分页列表页面. 首先:覆盖paginate变量,paginate变量的绍介请看前一篇(CakePHP开发之控制器-Controller). 它包含了条件,排序,分组,限制,表间关系等等... 如: $this->paginate = array('conditions'=>array('`Blog`.`user_id`'=>$user_id,'`Blog`.`status`'=>1), 'order' ...
在CakePHP里,一个controller用于管理应用程序某一方面的逻辑.大多数情况下,controller被用于管理独立model的逻辑,controller的名字总是复数形式. 每个controller可以包含任意数量的方法(action). 一个action,是controller里的一个独立的方法.这个controller.action对象的方法将被Dispatcher类分发执行. 一.Controller变量 $name 使用这个变量来为类设置正确的遵循驼峰命名法(具体见inflector.php). $users 在controller使用多个model. $helpers ...
CakePHP的组件Component可以看作是Controller的辅助工具.在CakePHP中,已经有了一些默认的组件(在文件夹cake\libs\controller\components中),譬如:session.php,request_handler.php,cookie.php,email.php等等... 当然,我们也可以自已定义一些组件,最好将其放置在app/controllers/components/夹下. 建立一个Component,第一步: class SoapComponent extends Component{ /* * * 引入第三方开源包 ...
想要获取ip并不难,但是要获取准确的ip的确是值得探索的问题. 在使用代理,透明代理,匿名代理以及欺骗性代理服务器等等情况下,在获取客户端IP的时候,需要做相应的判断: 一、无代理服务器:       REMOTE_ADDR = 您的 IP       HTTP_VIA = 没数值或不显示       HTTP_X_FORWARDED_FOR = 没数值或不显示 二、使用透明代理服务器:Transparent Proxies    透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改编你的request fields(报文),并会传送真实IP.例如Garden 2程序.      ...
最近,在测试一个使用了Hibernate添加user对像的实现时,系统老是报错: NullPointerException... 位置,分别显示是出在Action和Service中: 害得我在Action和UsersService中都加了避免NullPointerException的判断: if(session != null) {//to do} 和 if(user != null) {//to do} 最后,还是报错: org.hibernate.MappingException: Resource... error creating sessionfactory... 我 ...
CakePHP Session 存储选项 CakePHP提供给用户了3种Session数据保存方式: 1.CakePHP安装目下的临时文件; 2:采用PHP的默认机制; 3:或者序列化到数据库中. 对应的设置在core.php中分别为: define('CAKE_SESSION_SAVE', 'php'); # 设置为 'cake',保存session ...
在CakePHP中,MVC的架构是清晰的,而在实际做项目中,我发现仍然有很多人喜欢在Controller中堆砌函数,这样做也未尝不可,但是,作为一个百万行级的大项目来说,这种违背MVC思想的做法虽然可能暂时给程序结构带来便利,但从长远来看,是万万不可取的! 我们应该将系统常用到的某些函数定义在Model中,特别是纯粹的的数据处理函数和数据查询函数: 譬如,在Blog中像下面这样的条件查询: /* * * Blog 根据条件得到相应字段结果集 * * @Param array conditions * array fields * @Return array ...
CakePHP 提供关联数据表间的映射,共有4种类型的关联: hasOne,hasMany,belongTo,hasAndBelongsToMany. 设定了Model间的关联关系定义,CakePHP就会将基于关系数据库的数据映射为基于对象的关系模型。 但是你应该确保遵循CakePHP的命名规则. 命名规则中需要考虑的3个内容是,外键,model名字,表名. 外键:单数形式的 modelName_id 表名:复数形式的 model名 Model名:驼峰法命名单数形式(见文件inflector.php). hasOne 关联的定义与查询:通过在model中增加一个array来实现. cla ...
首先,在根目录下,app/index.php require 'webroot' . DIRECTORY_SEPARATOR . 'index.php'; 指向app/webroot/index.php下, 依次定义 'ROOT' 等常量... 再加载:basics.php,paths.php,object.php,inflector.php,configure.php,cache.php... 1.basics.php 加载了在CakePHP下常用到的一些基本函数,譬如: a 将传入此包装方法的所有参数打包成一个单一数组,并返回这个数组; aa 将传入此包装方法的所有参数打包成一 ...
在CakePHP中,对于模型数据的验证是非常简单的,下面就是我在Blog Model中用到的验证方法: /** * Blog validate rule * * @var array * @access public */ var $validate = array( 'title'=>array( 'notEmpty' => array( 'rule' => VALID_NOT_EMPTY, 'message' =>'The title is not empty' ), 'notBlank' ...
在apache下配置使用memcached其实非常简单,下面讲述其在windows下的安装及配置并和CakePHP搭配使用应该注意的相关事项: 首先: 到memcached官方网站http://memcached.org/下载最新的v1.4.5 stable版本,解压至相关目录即可; 譬如:D:\memcached 可见memcached.exe,将其在桌面建立快捷方式,点击执行即可. 在对应的PHP.ini文件中将 extension=php_memcache.dll 放开 当然你要确定 php_memcache.dll(与当前PHP版本匹配) 存在phpext中. 好了,整个memc ...
刚刚出台了去年收入统计->同样感谢,马上,就是消息称:《过半城市房价“意外”反弹》,文称:7月份全国超过一半城市的 市场的成交量结束下滑转而上扬.来自国际金融报.而西安购房者信心调查则显示:全国排名倒数第五... 真是笑话!!!
cakephp的bake为开发者提供了很多方便之出: 以windos为例: 首先: 打开控制台,cmd命令. 切换到工作目录,即在app目录下,输入: ..\cake\console\cake bake 当然,你也可以添加控制台目录到系统或user的PATH中,但我不建议这样做,因为,对实际的开发者来说,bake只是一个入口,当我们真正的做一项目,他就显的不足了,甚至有些鸡肋,显然,添加到PATH中是没有必要的. 如果配置正确,则应该显示: Welcome to CakePHP v1.2.7 Console ---------------------------------------- ...
Global site tag (gtag.js) - Google Analytics