PHP编码问题:这不会显示名称

时间:2010-10-26 19:57:21

标签: php oop

我很困惑为什么它不会显示这个名字。我希望看到输出,“杰弗里”,但事实并非如此。我创建了一个带有参数的对象,并将其传递给构造函数,因此我希望显示“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();

3 个答案:

答案 0 :(得分:6)

您遇到语法错误:构造函数必须命名为__construct(),而不是__constructor()

永远不会调用您的构造函数,$this->name永远不会保存。

答案 1 :(得分:2)

function __construct()

function __constructor()

答案 2 :(得分:0)

我相信__constructor($ name)应该替换为__construct($ name)。 __constructor不是类的标准部分。如果愿意,您也可以将其更改为person($ name)。

http://www.php.net/manual/en/language.oop5.decon.php