- 浏览: 123368 次
- 性别:
- 来自: 北京
最新评论
-
sfcc:
mysql函数-根据经纬度坐标计算距离 -
chaojijing_02:
-¥
'¤
'-'¤
这些是怎么出来的。
java反射之ObjectAnalyzer -
Technoboy:
稍微解释一下就好了...
java反射之ObjectAnalyzer -
peterwei:
lesorb 写道JAVA2中关于反射的应用主要是用来分析类结 ...
java反射之ObjectAnalyzer -
deepfuture:
不是吧,内核中使用汇编语言实现手,可快了
c语言实现字符串拷贝
文章列表
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
---------------------------------------- ...