我有一个来自Yii的 Parent 生成的模型。
class Parent extends AppModel {}
当我按照以下方式使用时,我收到了错误。
$parent = new Parent();
致命错误:不能使用'Parent'作为类名,因为它在E:\ Customer \ Qelasy \ Project \ QelasySecurity \ web \ SourceCode \ protected \ modules \ user \ models \ Parent.php中保留在线14
据我了解,这是因为Parent
是PHP中的关键字,而Yii已经生成了这个。是否有任何解决方法可以使其与Parent
一起使用而不将模型名称更改为父母?
答案 0 :(得分:2)
没有。你不能命名一个类Parent
,句点。它是核心语言中的保留关键字。除非您更改核心语言,否则您无法绕过此限制。由于类名不区分大小写,以下语句会做什么?
public function foo() {
parent::bar();
}
因此:没有与关键字冲突的类的命名。
答案 1 :(得分:1)
不,您必须将模型重命名为其他内容。尝试并更具体地说明您的班级名称。这是什么父母?
MyParent? UserParent? AppParent?也许use a synonym?
答案 2 :(得分:1)
Parent
是reserverd php关键字,无法将其用作类名,使用不同的名称,
class myclass extends AppModel {}
$myclass = new myclass();
以下是链接,您可以找到关键字列表:http://php.net/manual/en/reserved.php