PHP - 一个无法运行的简单类

时间:2012-07-29 13:20:36

标签: php

我的课程如下:

<?php 
class theGodFather {
    public function do() {
        echo "the movie is nice";
    }
}

$obj = new theGodFather;
echo $theGodFather->do;

运行时出现错误:语法错误,意外的T_DO,在第3行的/Applications/XAMPP/xamppfiles/htdocs/test/classes.php中期待T_STRING

我可能做错了什么?

4 个答案:

答案 0 :(得分:3)

您不能将keywords用作函数/类/方法和常量的名称,do是一个。但是,您可以将它们用作变量名称。

答案 1 :(得分:3)

“do”是一个关键字(可以在do while循环中使用)。你也回应了一个不返回任何东西的函数,但回应了它中的一些东西。

将“do”功能重命名为“echoFunction”或您选择的任何名称 改变这个:

$obj = new theGodFather;
echo $theGodFather->do;

为:

$obj = new theGodFather;
$obj->echoFunction();

你不能调用$ theGodFather-&gt; echoFunction的原因,因为theGodFather是一个类定义,而$ obj是该类的实际实例。您可以在PHP中使用静态方法,而无需创建新实例。

答案 2 :(得分:2)

你在类中使用do函数“do”是php的关键字,你不能在函数或类中使用关键字

试试这个

class theGodFather 
{
    // property declaration
    public $var = 'a default value';

    // method declaration
    public function displayVar() {
        echo 'a default value';
    }
}

$obj = new theGodFather();

//print_r($obj);
echo $obj->displayVar();

答案 3 :(得分:1)

do是一个关键字,因此解释器非常困惑。 :( 选择一个不同的功能名称,它可以工作!