致初学者:Cake开发的常见误区
作者
用CakePHP从头开始开发并不总是容易的,尤其假如你对MVC框架不很习惯。我希望此文能帮助其他的新手们过得更轻松一点
错误的文件名
这种情况我遇到了一遍又一遍,就是输入文件名的时候在结尾多加或是忘记加“s”,写代码的时候也一样。这事让我发疯,因为找到这种疏忽花的时间要以数小时计,如果你只在代码中找的话。
尽量遵守命名规范:
Controller 的定义文件用复数形式命名,比如 users_controller.php
Models 的定义文件则用单数形式,比如 user.php
记住在编写 view 的时候用 "echo" 命令
用form helper类建立的表不工作... 是非常恼人的。所以编写完一个view时先检查一下是不是在该用echo的地方都用了;-)
我尽量在能用基本html代码时就不用内嵌的php代码,所以我会写
<div>
<?php echo $some['array']; ?>
</div>
而不是
<?php
echo '<div>';
echo $some['array'];
echo '</div>';
这种写法还能给诸如Netbeans之类的IDE代码格式调整功能帮忙,由此又会提高效率。
正确的图片文件路径
如果你编写view的时候不用HtmlHelper类,你肯定会遇到麻烦。HtmlHelper总能找到图片文件的正确路径,不论图片在你文件系统的什么角落。使用普通的html img标签则常常会造成你的view出错,图片显示不出。
链接
HtmlHelper: http://book.cakephp.org/view/835/image
使用ajax呼叫时没有料到的结果
这种问题可以让你的屁股隐隐作痛。所有的程序逻辑都没问题,但是结果却出乎你的意料?我可以理解...差不多每次都会发生,只要我写个新方法。
所以,检查一下你的纠错指令的参数。这些参数可以把结果搞乱。
function foobar() {
configure::write('debug',0);
// somthing happens here
}
这能帮你省时省力。
好url
惦记着SEO和url的好坏,很多人(刚开始时也包括我在内)试图给controller和action类文件起个在地址栏里能看起来很不错的名字。
在你知道你在干什么之前别这样做。
数据库和命名规范有什么就用什么,先保证程序都工作,别在url的好坏上花太多心思。
开始时我花了差不多一半的时间想名字什么的,别浪费你的时间,就用html-helper生成链接好了,就像你应该做的那样,然后过些时候,当你的代码都完成了的时候,routing会替你完成一切。
你会对routing有多好用感到吃惊的,因为routing功能会自动更改所有的链接,如果你的链接是用html-helper生成的。
链接
HtmlHelper: http://book.cakephp.org/view/206/Inserting-Well-Formatted-elements#link-836
Routing: http://book.cakephp.org/view/46/Routes-Configuration
把query放到该放的地方
刚开始时我总是把query指令放在controller类里面,因为这样我很容易就达到了目的而且我也没觉得有什么问题。
当对cakephp习惯了以后,我发现这样很蠢,因为这样类之间的关系结构就不能保持整洁了。
为了使一切都在你掌控之中,把那些玩意儿都放到相应的model类里面,从那儿提取数据。
这样controller才能保持简洁,这才是你要的...相信我。
当你的项目开始变得更加复杂的时候,你会因为你这样做了感到欣慰;-)
...还要永远记住...
不论你要做什么,你还是在用PHP所以你可以随便怎么写你的程序都成。
但是当心,因为如果你所做的和你该做的偏离得太远,在你有了几周cake开发的切身体验以后,你可能发现你的“捷径”需要些改动。
【本文翻译仅为外语学习及阅读目的,原文作者个人观点与译者及译言网无关】