0
<?php
class MaClasse
{
    private $attributs = array();
    private $unAttributPrive;

    public function __get ($nom)
    {
        if (isset ($this->attributs[$nom]))
            return $this->attributs[$nom];
    }

    public function __set ($nom, $valeur)
    {
        $this->attributs[$nom] = $valeur;
    }

    public function afficherAttributs()
    {
        echo '<pre>', print_r ($this->attributs, true), '</pre>';
    }
}

$obj = new MaClasse;

$obj->attribut = 'Simple test';
$obj->unAttributPrive = 'Autre simple test';

echo $obj->attribut;
echo $obj->autreAtribut;
$obj->afficherAttributs();   
?>

我不明白为什么第二个变量没有显示任何内容?但在数组中它确实存在。

4

2 回答 2

2

You're setting unAttributPrive, but getting autreAtribut.

于 2012-10-10T16:41:44.463 回答
0

我会心血来潮猜测,因为你的变量名拼写错误。如果您要回显 $obj->unAttributPrive

于 2012-10-10T16:42:47.583 回答