有没有办法摆脱PHP父关键字?

时间:2013-11-28 10:11:54

标签: php yii keyword

我有一个来自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一起使用而不将模型名称更改为父母

3 个答案:

答案 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