我在使用 getDelayed 中的结果回调进行方法调用时遇到了麻烦,所以我给开发人员发了邮件。
如果你想使用非静态方法作为回调,请使用以下格式:array($obj, 'method');例如
<?php
class foo {
private $M = false;
public function __construct() {
$this->M = new Memcached();
$this->M->addServer('localhost', 11211);
$this->M->set('a', 'test');
}
public function test() {
$this->M->getDelayed(array('a'), false, array($this, 'fun'));
}
public function fun() {
echo "Great Success!";
}
}
$f = new foo();
$f->test();
?>
或者,另外
<?php
class foo {
public $M = false;
public function __construct() {
$this->M = new Memcached();
$this->M->addServer('localhost', 11211);
$this->M->set('a', 'test');
}
public function fun() {
echo "Great Success!";
}
}
$f = new foo();
$f->M->getDelayed(array('a'), false, array($f, 'fun'));
?>
效果很好,谢谢 Andrei :)