注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网事

备忘录

 
 
 

日志

 
 

CakePHP 命名规则  

2009-08-27 15:23:47|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1. 一般约定或者对特定的实践或态度的认可:根据规则,北方一直在地图的最上方。

2. 在一个组里,一个广泛遵守的实践或和过程,特别能促进社会交互;一种习惯:握手的规则。

3. 一种广泛被使用或被接受的设备或者技术,例如在小说,文学或者绘画里:旁白的戏剧规则。

Cake的规则会变魔法,称之为自动魔法。Cake让你的生产率提高到一个令你害怕的水平,但又不失灵活性。Cake的规则确实非常简单,而且直观。他们是从最佳实践里提炼出来的,而这些最佳实践是web开发人员在web开发领域里多年使用的实践。

第2节 文件名

文件名带有下划线。作为一般规则,如果你有一个MyNiftyClass类,那么在Cake里,它的文件应该命名为my_nifty_class.php。因此如果你找到一个小片段,你会自动知道:

1. 如果它是一个命名为KissesAndHugsController的Controller,那么它的文件名必须为kisses_and_hugs_controller.php(注意文件名中的_controller)。

2. 如果它是一个名为OptionValue的Model,那么它的文件名必须为option_value.php.

3. 如果它是一个名为MyHandyComponent的组件,那么它的文件名必须为my_handy.php(在文件名里不需要_component)

4. 如果它是一个名为BestHelperEver的Helper,那么它的文件名必须为best_heler_ever.php.

第3节 Model

1. Model的类名是单数。

2. Model类名中,单个单词的model为大写,多个单词的model是大写的骆驼峰。

实例: Person, Monkey, GlassDoor, LineItem, ReallyNiftyThing

3. 多对多的join表应该命名为: 按字母排列的第一个表的复数_按字母排列的第二个表的复数.例如: tags_users

4. Model文件名使用一个小写的带有下划线的语法。

实例: person.php, monkey.php, glass_door.php, line_item.php, really_nifty_thing.php

5. 与model相关联的表也使用小写的带有下划线的语法,但是他们是复数的。

实例: people, monkeys, glass_doors, line_items, really_nifty_things

CakePHP的命名规则意味着流线型的代码创建,并且让代码更加具有可读性。如果你想他遵循你的方式,你可以覆写它。

1. Model名:在你的Model定义里设置$name变量.

2. 与Model相关的数据库名:在你的Model定义里设置$useTable变量.

第4节 Controller

1. Controller名为复数。

2. 对于单个词的controller,类名为大写,多个词的为大写的骆驼峰。而且Controller类名以'Controller'结尾。

实例: PeopleController, MonkeysController, GlassDoorsController, LineItemsController, ReallyNiftyThingsController

3. Controller文件名采用小写的带有下划线的语法。Controller文件名也以'_controller'结尾,因此如果你有一个名为 PostsController的Controller,其文件名应该为posts_controller.php.

实例: people_controller.php, monkeys_controller.php, glass_doors_controller.php, line_items_controller.php, really_nifty_things_controller.php

4. 对于保护成员的可见性,controller动作名应该预加一个'-'.

5. 对于私有成员的可见性,controller动作名应该预加一个'--'.

第5节 View

1. view在他们显示的动作后命名。

2. 在动作名后命名view,小写。

实例: PeopleController::worldPeace() 期望一个在 /app/views/people/world_peace.thtml的view。 MonkeysController::banana() 期望一个在/app/views/monkeys/banana.thtml的view。

你可以在动作的结尾,调用$this->render('没有.thtml的view文件名')来强制一个动作render一个指定的view

第6节 Helper

1. Helper的类名是骆驼峰的,并以'Helper'结尾,文件名带有下划线。
实例: 在/app/views/helpers/my_helper.php中类MyHelperHelper 扩展了Helper

使用var $helpers = array('Html','MyHelper')将它包含在controller里;在view里,你可以使用$myHelper->methods()l来访问。

第7节 Component

1. 组件的类名是骆驼峰的,并以'Component'结尾,文件名带有下划线。
实例:在 /app/controllers/components/my_component.php里,类MyComponentComponent扩展了对象。

2.

使用$components = array('MyComponent')将它包含在Controller里。在Controller里,使用 $this->MyComponent->method()来访问

第8节 Vendor

vendor不遵循任何规则,原因非常明显:他们是第三方的代码,Cake没有对它们的控制权力。
  评论这张
 
阅读(198)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018