在PHP代码中访问私有变量

时间:2014-03-03 10:43:41

标签: php

为什么下面没有输出我期待的数据?

class student
{
    private $name;
    private $id;

    public function _construct($name,$id)
    {
        $this->name = $name;
        $this->id = $id; 
    }

    public function getName()
    {
        return $this->name;
    }

    public function getID ()
    {
        return $this->id;
    }
}
$mhs = new student("budi","152012102");

echo "name = ".$mhs->getName();

我不知道发生了什么事,帮忙?

1 个答案:

答案 0 :(得分:5)

两个问题:

1)调用构造函数

当你调用构造函数时,你需要在前面添加两个下划线。

所以完整的,你的构造函数应该是:

public function __construct($name, $id)
{
    $this->name = $name;
    $this->id = $id;
}
<2> Typo

构造函数中似乎也有一个简单的拼写错误:

您分配的是$nama而非$name

$this->name = $nama;

这应该是

$this->name = $name;

[编辑] 此拼写错误现在似乎已在主要问题中修复