2012-12-13 140 views
1

我有以下表格:CakePHP的命名约定

  • 管理员
  • 性能
  • administrators_properties

控制器文件名为:

  • administrators_controller.php
  • properties_controller.php
  • administrators_properties_controller.php

模型文件名为:

  • administrator.php
  • property.php
  • administrators_property.php

我有麻烦了解加入的模型名称的单数/复数命名约定。 (或者问题可能与控制器有关?也许是administrator_properties_controller.php?)

任何显而易见的问题都会想到吗?

+0

一般来说,你不需要创建连接表的典范。除非在连接中有额外的数据,否则CakePHP将自动处理它。请参阅http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasandbelongstomany-habtm – dmertl

回答

2

如果你有麻烦了解如何变复数或singularize的话,使用偏转: http://book.cakephp.org/2.0/en/core-utility-libraries/inflector.html

如果您正在使用CakePHP的2.X,您的命名是错误的。你应该了解的CakePHP命名的菜谱约定: http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html

表:对应CakePHP的模型

表名是复数,并强调。

加入表:

加入表,使用hasAndBelongsToMany(HABTM)模型之间的关系应该模型表,他们将按照字母顺序参加(是apples_zebras而不是zebras_apples)的名字命名。

控制器:

控制器类名是多个,驼峰格式,和在端控制器。 PeopleController和LatestArticlesController都是传统控制器名称的例子。

型号:

模型类名是单数和驼峰。 Person,BigPerson和ReallyBigPerson都是传统型号名称的例子。

在你的情况你的表是好的。关于休息:

控制器应该是:AdministratorsController.phpPropertiesController.phpAdministratorsPropertiesController.php

模式应该是:Administrator.phpProperty.phpAdministratorsProperty.php

+0

感谢您的链接,但我不确定这是否正确。文件中的类名是camelcase,但文件名本身是小写,每个文档都带下划线。 – user167850

+0

CakePHP 2.x已经移动到与类相同的文件命名。见http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#file-and-classname-conventions – dmertl

+0

谢谢大家,我应该提到我使用的是1.3。 – user167850