Table des matières
模型和数据库命名规范" >模型和数据库命名规范
控制器命名规范" >控制器命名规范
控制器类名与URL地址
视图命名规范" >视图命名规范
总结" >总结

CakePHP2定名规范

Jun 13, 2016 pm 01:03 PM
cakephp controller people

CakePHP2命名规范

?

CakePHP的命名规范相当重要,遵循CakePHP框架的命名规范,可以获得框架内置的各种功能。CakePHP2发布之后,命名规范这块与老的框架没有任何区别,本文同时适用于CakePHP 2.x和CakePHP 1.x框架。

总得来说,文件名使用下划线,类名用驼峰命名法。比如,MyNiftyClass类对应的文件名就是my_nifty_class.php。下面是不同类型的类和其相对应的文件命名方式的一些例子,

控制器类KissesAndHugsController,可以在kisses_and_hugs_controller.php文件中找到(注意文件名中的_controller)。

组件类MyHandyComponent,可以在my_handy.php文件中找到。

模型类OptionValue可以在option_value.php文件中找到。

行为类EspeciallyFunkableBehavior,可以在especially_funkable.php文件中找到。

视图类SuperSimpleView,可以在super_simple.php文件中找到。

助手类BestEverHelper,可以在best_ever.php文件中找到。

上述的每个文件都存放在相应的文件夹中。

总结:类名中,除了模型类,都需要在类命中标明该类的身份,比如Controller,Component,Behavior等。文件名中,只有控制器类需要标明身份,即在文件末尾加上_controller.

模型和数据库命名规范

模型类名使用单数驼峰命名法,Person,BigPerson以及ReallyBigPerson都是约定的模型命名。

表名使用复数和下划线命名。与上述模型相对应的表名分别是people,big_people和really_big_people。

可以使用“inflector”库检查单词的单复数形式。

包含两个或更多单词的字段名,以下划线命名,比如first_name。

在hasMany,belongsTo,hasOne关系中,外键默认由相关表加_id表示。举例来说,一个Baker和Cake之间的关系是一对多,那么在cakes表中会存在一个baker_id外键来关联bakers表(注意,这里的关联外键是单数)。对于多个单词组成的表名,像category_types,外键会事category_type_id。即表名虽然是复数,但是在其它表中存在的该表外键,要以单数形式命名。

多对多关系中一般会存在一个链接表,该链接表字段的一个命名方式是需要以单词首字母字母顺序排列,例如apples和zebras两张表,在链接表中,他们应该是apples_zebras,而非zebras_apples。

所有CakePHP模型交互的表,都需要唯一的主键来标示每一行数据。CakePHP不支持组合主键,如果你想直接操作链接表数据,可以直接使用SQL语句。

除了使用递增字段作为主键之外,还可以使用char(36)作为主键。在使用odel::save方法保存记录时,CakePHP会自动识别该字段,并使用(String::uuid)生成一个36位的字符串作为唯一主键。

控制器命名规范

控制器类名使用复数驼峰命名法,并且以Controller结尾。PeopleController以及LatestArticlesControlle都是合法的控制器命名方式。

控制器中的首个方法应该是index()方法,当请求只指定了控制器,没有动作方法时,CakePHP默认执行该控制器的index()方法。

通过在控制器方法名之前加一个下划线,可以更改该控制器方法的可见范围。如果控制器方法前有一个下划线,这个方法就只能在内部使用,而无法通过浏览器访问。

控制器类名与URL地址

单个单词的控制器能够非常容易的被映射到小写的URL地址上。例如,ApplesController可以通过http://example.com/apples访问。

多词控制器的访问地址,可以是该控制器名的任何曲折形式。

  • /redApples
  • /RedApples
  • /Red_apples
  • /red_apples

都能指向到RedApples控制器的index方法。不过,命名约定规定,url地址应该是小写单词加下划线组成。因此,/red_apples/go_pick是请求RedApplesController::go_pick方法的正确形式。

视图命名规范

视图模板文件通过调用他们的控制器方法命名,以下划线分隔多词。PeopleController类中得getReady()方法,会自动关联/app/views/people/get_ready.ctp视图模板。

命名方式就是/app/views//.ctp。

总结

数据库表名:people
模型类:person,路径app/models/person.php
控制器类:PeopleController,路径app/contollers/people_controller.php
视图类:app/views/people/index.ctp

使用这种命名约定,CakePHP能够将http://example.com/people/映射到PeopleController控制器的index()方法,Person模型可以直接在该控制器中使用,并且该模型会自动与people表绑定,然后输出视图。所有这一些不需要配置,只要你遵守CakePHP的命名约定即可。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Comment utiliser le générateur de requêtes de base de données dans CakePHP ? Comment utiliser le générateur de requêtes de base de données dans CakePHP ? Jun 04, 2023 am 09:02 AM

CakePHP est un framework PHPMVC open source largement utilisé dans le développement d'applications Web. CakePHP possède de nombreuses fonctionnalités et outils, notamment un puissant générateur de requêtes de base de données pour les bases de données de performances interactives. Ce générateur de requêtes vous permet d'exécuter des requêtes SQL en utilisant une syntaxe orientée objet sans avoir à écrire des instructions SQL fastidieuses. Cet article explique comment utiliser le générateur de requêtes de base de données dans CakePHP. Établir une connexion à la base de données Avant d'utiliser le générateur de requêtes de base de données, vous devez d'abord créer une connexion à la base de données dans Ca

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Comment créer une pagination personnalisée dans CakePHP ? Comment créer une pagination personnalisée dans CakePHP ? Jun 04, 2023 am 08:32 AM

CakePHP est un framework PHP puissant qui fournit aux développeurs de nombreux outils et fonctionnalités utiles. L'un d'eux est la pagination, qui nous aide à diviser de grandes quantités de données en plusieurs pages, facilitant ainsi la navigation et la manipulation. Par défaut, CakePHP fournit des méthodes de pagination de base, mais vous devrez parfois créer des méthodes de pagination personnalisées. Cet article va vous montrer comment créer une pagination personnalisée dans CakePHP. Étape 1 : Créer une classe de pagination personnalisée Tout d'abord, nous devons créer une classe de pagination personnalisée. ce

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

See all articles