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();   
?>

2 番目の変数に何も表示されない理由がわかりません。しかし、配列には存在します。

4

2 に答える 2

2

を設定していますunAttributPriveが、取得していautreAtributます。

于 2012-10-10T16:41:44.463 に答える
0

変数名のスペルが間違っているので、気まぐれで推測します。$obj->unAttributPrive をエコーする場合

于 2012-10-10T16:42:47.583 に答える