我靠蛋糕PHP
我注意到每个Controller都声明了一个变量$ name
它的目的是什么?
它是指表格的名称吗?
<?php
class SitesController extends AppController {
var $name = 'Sites';
...
}
?>
如果是, 用户可以像这样引用多个表吗? var $ name ='Sites','Sites2','Sites3';
答案 0 :(得分:6)
它用于与PHP4兼容。你可以放心地忽略它。
不,它;不是指代表的名称......有时候暗示名为FooController的控制器将使用名为Foo的模型,但并不总是如此。
不,你不能指定那样的模型名称。要加载的模型列在$uses
属性中:
public $uses = array ('Sites', 'Sites2', 'Sites3');
答案 1 :(得分:2)
没有。 $ name用于兼容PHP4。 PHP4没有完整的面向对象的功能,因此有时无法从控制器类派生模型的名称。设置$ name只是确保不会发生 - 模型的名称是显式的,所以这个问题不会发生。
AFAIK如果您使用的是PHP5,并且从不打算在您的应用中使用PHP4,则完全没有必要。
答案 2 :(得分:1)
据我所知,这是CakePHP的遗留约定,大多数情况下没有它。 Cake使用此属性来获取Controller名称。这不是什么大问题,只需顺其自然。