`
penergy
  • 浏览: 39862 次
社区版块
存档分类
最新评论

Cakephp 3 (一) 惯例优先原则(convention over configuration)

阅读更多
在Cakephp 3 cookbook中提到,Cakephp 是惯例优先原则的忠实实践者。Cakephp中,提供一套完整的约定编程体系。惯例优先原则是一个重要的设计模式,目的是统一项目过程中命名不一致的问题,有效加快版本迭代更新速度。

Cakephp 3中 MVC三个模块的命名规则有具体介绍。

1) 控制器命名(Controller Convention)
   控制器类(Controller class)是复数、骆驼拼写法(CamelCased),以Controller结尾。例如订单(Order)控制器,写为 OrdersController。
  在控制器中,可以自定义多个公开的方法,如order中有个public function view(),url对应为/orders/view。
  如果遇到多单词组合的控制器类(如RedApplesController),其对应的url有四种等价形式
  - /redApples
  - /RedApples
  - /Red_apples
  - /red_apples
   注:cakephp有一整套完善的routing改写机制。可以把上述url改写成dashedroute,例如 /red-apples/go-pick, 对应为RedApplesController::goPick()

2) 文件和类名命名 (Model and Database Conventions)
    对于控制器(Controller),如RedApplesController,对应文件叫做RedApplesController.php
    对于组件(Component),如MyHandyComponent,对应文件叫做MyHandyComponent.php
    对于数据表处理类(Table),如AppleTable.php, 对应文件叫做AppleTable.php

3) 模式和数据库命名规则
    Table类是复数、骆驼拼写法(CamelCased),如People,BigPeople,ReallyBigPeople等。相对应的,在数据库中的命名为:复数,并带有下划线。如people, big_people, really_big_people.

     在数据表中,外键的命名(Foreign key), 如面包师有很多蛋糕,则在蛋糕表中,有外键baker_id.从例子看出,外键命名为单数_id

4) 视图命名(View Convention)
     在控制器中可以创建function,如PeopleController::getReady(),在文件夹中,会显示为people/get_ready.ctp

用一个例子来总结Cakephp的命名规则:
数据库表格:people - 复数,小写
控制器:PeopleController - 复数,骆驼
视图:PeopleController:: index()

关于Cakephp惯例优先原则看似繁琐。但在实际运用中,Cakephp如同RoR,Laveral一样提供了command工具,进行Fast development。 在下一个章节,我会具体谈到,如何使用command工具。
分享到:
评论

相关推荐

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    CakePHP 是一款基于 PHP 的快速开发框架,它强调采用约定优于配置(Convention Over Configuration, CoC)的原则来简化开发过程,使得开发者能够快速构建稳定且安全的应用程序。在 CakePHP 3.4 中,这种原则体现得尤...

    cakephp-cakephp-2.0.0-beta-0-g402934f.zip

    在描述中提到,CakePHP是“借鉴Raid on Rails的PHP实现”,这意味着它采用了与Ruby on Rails相似的约定优于配置(Convention over Configuration)原则,旨在减少开发者在项目设置和配置上的工作量,从而更专注于...

    CakePHP3-Proffer, CakePHP 3的上传插件.zip

    CakePHP3-Proffer, CakePHP 3的上传插件 CakePHP3-ProfferCakePHP 3的上传插件。 是什么?,needed upload upload upload upload upload upload upload plugin plugin plugin

    cakephp中文手册.pdf

    例如,CakePHP 自动关联数据库表和模型类,通过约定优于配置(Convention over Configuration)原则简化开发。这意味着,如果模型类名与数据库表名遵循一定的命名规则,框架就能自动识别并建立关联。 **CakePHP ...

    cakephp 框架

    CakePHP 是一个遵循 Model-View-Controller 架构模式的 PHP 框架,它使用了类似于 Ruby on Rails 的约定优于配置(Conventions over Configuration)原则,减少了开发者在项目初期所需的配置工作。框架的核心理念是...

    cakephp php-framework

    There are two main ways to get a fresh copy of CakePHP. You can either download an archive copy (zip/tar.gz/tar.bz2) from the main website, or check out the code from the git repository. To download ...

    cakephp-3-0-1

    CakePHP 3.0.1 发布,此版本是个 bug 修复版本 CakePHP 3.0.0 稳定版是向后不兼容版本,现在 CakePHP 最低要求: PHP 5.4.16 及其以上 mbstring 扩展 intl 扩展

    CakePHP1.2.3.8166.7z CakePHP最新稳定版

    在本文中,我们将深度探讨最新的稳定版CakePHP 1.2.3.8166,解析其核心理念、主要功能以及实际应用。 一、MVC架构与CakePHP MVC架构是一种将业务逻辑、数据以及用户界面分离的设计模式。在CakePHP中,模型(Model...

    cakephp 框架1.3.11版本

    - **cakephp-cakephp-3b830a4**:看起来像是Git仓库的名称,其中的3b830a4可能是Git提交的哈希值,表明这是一个特定版本的源代码。这个文件可能包含了CakePHP 1.3.11的完整源码,供开发者研究或调试使用。 了解这些...

    cakePHP经典官方教程

    **蛋糕PHP(CakePHP)** 是一个基于模型-视图-控制器(MVC)架构模式的开源PHP框架,用于快速开发Web应用。这个经典官方教程是开发者深入理解并掌握蛋糕PHP的重要资源,其中包含了丰富的实例代码,可以帮助初学者...

    CakePHP 3.5 开发手册文档 CakePHP Cookbook Documentation Release 3.5/共900页 PDF

    - **Conventions Over Configuration**: CakePHP 遵循约定优于配置的原则,这意味着在大多数情况下,框架能够自动处理许多常见的配置问题,开发者只需关注业务逻辑。 - **The Model Layer**: 模型层负责处理数据访问...

    PHP框架高级编程-应用Symfony,CakePHP和Zend

    CakePHP的"Convention over Configuration"理念意味着开发者无需编写大量配置文件,只需遵循预定义的规范即可。 **Zend Framework** Zend Framework是一款轻量级且模块化的PHP框架,由Zend Technologies公司开发。...

    cakephp-1.2 manual

    《CakePHP 1.2 手册》是针对该版本框架的重要参考资料,旨在帮助开发者深入理解和有效使用 CakePHP 进行Web开发。 CakePHP 是一个基于Model-View-Controller(MVC)架构模式的开源PHP框架,它简化了Web应用程序的...

    CakePHP PHP MVC框架

    3. **ORM(对象关系映射)**:通过ActiveRecord模式,提供了一种简单的数据库操作方式,无需编写SQL语句。 4. **CRUD操作**:内置创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)功能,简化数据管理。 5....

    cakePHP 中文手册

    CakePHP有多个特点,这些特点让CakePHP成为了快速开发框架中的佼佼者之一。 1.活跃友好的社区 2.灵活的许可协议(Licensing) 3.兼容PHP4和PHP5 4.数据库交互和简单查询的集成 5.应用程序Scaffolding 6....

    cakephp-2.3.0.rar_ruby rails php

    Rails以其“约定优于配置”(Convention over Configuration, CoC)的理念而闻名,这一理念也被 CakePHP 所采纳。这意味着框架会有一套默认的设置和结构,使得开发者无需过多地编写配置文件,从而能更快地开始编码。...

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    cakephp 框架书籍 英文版

    - **博客教程**:本书籍通过一个博客项目的示例,引导读者逐步了解CakePHP框架的基本用法。这包括了如何设置环境、创建模型(Model)、控制器(Controller)以及视图(View)等基本组成部分。 - **添加层次**:博客教程的...

    CakePHP php框架 v3.7.0 beta1.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.8.5

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

Global site tag (gtag.js) - Google Analytics