我的课程如下:
<?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
我可能做错了什么?
答案 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
是一个关键字,因此解释器非常困惑。 :(
选择一个不同的功能名称,它可以工作!