2012-12-13 67 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