我很困惑为什么它不会显示这个名字。我希望看到输出,“杰弗里”,但事实并非如此。我创建了一个带有参数的对象,并将其传递给构造函数,因此我希望显示“JEFFREY”,但事实并非如此。我在构造函数中添加了echo函数,看它是否输出jeffrey并且它也没有回显。 PHP没有显示任何错误。我做错了什么?
class person {
public $name;
function __constructor($name)
{
$this->name=strtoupper($name);
echo $name;
}
function displayName()
{
echo "<h1>$this->name</h1>";
}
}
$m = new person("jeffrey");
$m->displayName();
答案 0 :(得分:6)
您遇到语法错误:构造函数必须命名为__construct()
,而不是__constructor()
。
永远不会调用您的构造函数,$this->name
永远不会保存。
答案 1 :(得分:2)
function __construct()
不
function __constructor()
答案 2 :(得分:0)
我相信__constructor($ name)应该替换为__construct($ name)。 __constructor不是类的标准部分。如果愿意,您也可以将其更改为person($ name)。