说我有这个代码:
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";
}
}