このコードがあるとします:
class cats {
function cats_suck() {
$this->cats = "monkeys";
}
}
$cats = new cats;
$cats->cats_suck();
echo $cats->cats; //Monkeys?
クラスの外に渡したい$cats
のですが、通常は $cats を返し、関数をエコーしますが、コードには多くの変数があります。
ゲッターを追加できます:
function getcatmonkeys() {
return $this->cats;
}
それで:
$cats = new cats;
$cats->cats_suck();
echo $cats->getcatmonkeys();
または、すべてのプライベートを配列に格納し、取得するための魔法のメソッドを追加することもできます:
private $data = array();
function cats_suck() {
$this->data['cats'] = "monkeys";
}
public function __get($name)
{
return $this->data[$name];
}
それで:
$cats = new cats;
$cats->cats_suck();
echo $cats->cats; //Monkeys
これは、プライベートを持つ目的を無効にしますが、その理由を疑問視することはありません。
$cats をクラスのパブリック変数として定義します。
class cats {
public $cats;
function cats_suck() {
$this->cats = "monkeys";
}
}