PHP
class ClA {
var $b;
function clA()
{
$this->b = new ClB();
}
function x()
{
echo "testing";
}
}
class ClB {
function clB()
{
}
function c ($a)
{
$a->x();
}
}
$a = new ClA();
$a->b->c($a);
如何调用c((而不必传递$a;
调用作为成员的方法上一层的对象到当前对象其方法正在被调用。
function c ()
{
??->x();
}
?=>object一级到当前对象,此方法是其成员
class ClA {
public $b;
public function __construct() {
$this->b = new ClB($this);
}
public function x() {
echo "testing";
}
}
class ClB {
private $a;
public function __construct($a) {
$this->a = $a;
}
public function c () {
$this->a->x();
}
}
$a = new ClA();
$a->b->c();
演示
请注意,我已将您的类从PHP4 更新为PHP5