译文

致初学者:Cake开发的常见误区

翻译:mwan0061 | 2009-10-07 19:25:17 | 阅读486 | 来源

致初学者:Cake开发的常见误区

作者 Alex Marquardt (center_de)

用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开发的切身体验以后,你可能发现你的“捷径”需要些改动。

【本文翻译仅为外语学习及阅读目的,原文作者个人观点与译者及译言网无关】

分享:

添加评论