文章标签 ‘cakephp’

很少写代码到这个点,为了整那个聊天程序差点把这个论坛都弄崩溃了。 晚上两点调试时突然整个系统报错,还是报一个数据库连接错误,可是我根本就没有用到cake任何model相关东西,真是把我郁闷到了,把测试站的框架文件也导过来了还是报错,最后只有跟踪框架的代码,但是毫无头绪。幸运的是最后居然自动好了,这我才想到可能是核心配置文件的缓存挂了,在没有任何代码改动的情况下只可能是这样了,不过现在还是不知道怎么引起的并且怎么就好了。太纠结了,弄了一个晚上。 还有那个纠结的编码,聊天系统在两个站上的代码完全一样,但是对ajax的编码处理却不一样,最后发现在非调试级别,RequestHandler的startup方法会自动header相应的Content-Type,真tmd的恶心,直接把startup方法屏蔽了。这些还是自己控制为好,特别是ajax这种需要utf-8编码的应用上。 今天被人来去看《唐山大地震》,一句话总结“悲剧中的喜剧” ,四周的人都哭的稀里哗啦的,我居然没哭额,不知道是我的问题还是电影的问题≡(▔﹏▔)≡。

2010年8月12日03:34 | 没有评论
分类: 兴趣所在
标签:

1. cakeError方法是属于object类的,而且此方法引用当前的controller,如果没有new cakelib中的。而且只会执行beforeRender的方法,不会执行beforeFilter,毕竟不存在一个action 2. controller有三个属性 base,webroot,here。其关系是 webroot = base. “/”;here= webroot.path;path就是当前的路径。对于webroot官方文档的解释是“Helpful if your application is placed in a folder under the current domain name”,其实就是web目录相对于domain的根目录的路径。 3. cakephp自带的compress功能是优先于route dispatch的,也就是说上来先检测资源是否可压缩,如果可以就直接压缩返回,不过有route以后的阶段了。 4. controller的redirect方法是不用考虑当前的webroot的,此方法会自动header到webroot(web目录)的某个路径上去。

2010年5月28日00:57 | 没有评论
分类: 兴趣所在
标签: ,

一直没怎么深入的研究这个基础框架,最近跟随着官方文档好好的琢磨了一下,体验了一下这个被大牛们推荐的东西,下面是一些感悟。 人人都说他是rails在php上的翻版,可惜没接触过rails,整体的结构俨然是MVC的模式,zend等其他框架也遵循这种整体设计思想。有少许不同的地方,cakephp的MVC耦合度比zend要高上许多,cakephp中view和model在核心库中完全连在了一起,这对于view和model的替换产生了一定麻烦,比如要换一个view的表现或是自己实现一些独立的model。 对于view的替换,如果要从controller部分将view斩草除根那么框架本身的helpers,layout就根本用不到,cake没有提供一些有效的接口来规范核心的调用,这点zend似乎要做的好些(记得是有一个viewRender的helper用来设定具有实现接口的view),如果要替换视图现在也只能在controller上重写尽量保证能和controller高耦合。 view其实还好对于model的剥离来说最后只能修改核心库了。cake的model向来不被人看好,甚至有点kb,类的实现及其复杂,对于model的载入也令人有点费解,按照文档所说,除非你你指定,否则会自动加载与controller同名的model,而且目前还没发现核心库没有提供取消这种机制的方法。也就是说你不想用他的model也得用。最后迫不得已只能改核心的代码将model的载入删去了。。。 以上的剥离结果导致的是一些变量的浪费,显然不可能在controller中把所有涉及view和model的部分全部删去,现在也就能做到阻止了他们的自动联系,打到了初期的要求。 其实这次选择cake还是有一定道理的,为了能实现基本的MVC,zend太庞大了,cake相对于它要简单许多。但cake的自由度降低了满多,zend不愧是官方的东西。 当然了,框架毕竟是框架,整体的设计应该在框架之上,用框架来弥补设计的不足。

2009年7月27日10:37 | 没有评论
分类: 兴趣所在
标签: ,