繁体   English   中英

Cakephp中表,模型文件和模型类的命名约定

[英]naming convention of table, model file and model class in cakephp

我正在使用cakephp 2.6.9。 我有一个名为:chat_info的表和模型文件:ChatInfo.php以及ChatInfo中的类:

 <?php
/**
* 
*/
class ChatInfo extends AppModel
{
    var $name = "chatinfo";

}

?>

但显示错误。 我搜索了此错误,发现这是由于cakecaphp中的命名约定违规所致。 但是我在这里做什么

如果您将表从chat_info重命名为chat_infos就可以了

或者,如果您想保留该表的名称,则将其添加到模型中:

$useTable = 'chat_info';

并且您的模型将与表chat_info关联(无复数模式)

型号:: useTable

如在文档中找到

useTable属性指定数据库表名称。 默认情况下,模型使用小写的模型类名的复数形式

约定不是牢不可破的规则。 它们是准则,如果遵循的话,会使生活更轻松。 这并不意味着必须遵循它们。 使用useTable可以使用任何表名,在这种情况下:

class ChatInfo extends AppModel
{
    public $useTable = "chat_info";

}

两个方面,假设您实际上并未使用php4:

  1. 将模型名称设置为除实际模型名称以外的名称是一个糟糕的主意 不必要将其设置为任何值,因为它的设计目的是php4兼容性。 模型的名称是类名 ,将其设置为其他名称很容易导致混乱或意外的副作用。
  2. var声明变量是php 4样式,使用所使用的php版本的功能,即使用public,protected或private声明变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM