已创建资源插件以使用Realplexor类,使用它在多个客户端之间交换消息,非常适合聊天。为此插件设置application.ini规定。测试控制器编写以下代码:
$realplexorObject = Zend_Registry::get('realplexor'); print_r ($realplexorObject); die ();
他给出了以下内容:
Dklab_Realplexor Object ( [_timeout:Dklab_Realplexor:private] => 5 [_host:Dklab_Realplexor:private] => rpl.newchat.com [_port:Dklab_Realplexor:private] => 10010 [_identifier:Dklab_Realplexor:private] => identifier [_login:Dklab_Realplexor:private] => [_password:Dklab_Realplexor:private] => [_namespace] => Chat_ )
即Dklab_Realplexor对象是在Zend_Registry中创建并存储的,但这对他有用我想为他编写一个模型,为我的项目应该使用类方法Dklab_Realplexor的具体方法,这究竟是怎么做的?
我试着写一个这样的模型:
class Application_Model_Realplexor_Message extends Dklab_Realplexor { public function __construct() { return Zend_Registry::get('realplexor'); } public function post ($text, $fromUser = 0, $fromOperator = 0) { $this->send("Alpha", $text); } }
但是,如果你在控制器中创建了这个模型的对象,那就是它没有被初始化的原因:
$realplexorMessageModel = new Application_Model_Realplexor_Message(); print_R ($realplexorMessageModel); die ();
的问题:
Application_Model_Realplexor_Message Object ( [_timeout:Dklab_Realplexor:private] => 5 [_host:Dklab_Realplexor:private] => [_port:Dklab_Realplexor:private] => [_identifier:Dklab_Realplexor:private] => [_login:Dklab_Realplexor:private] => [_password:Dklab_Realplexor:private] => )
我想为他创建这个插件资源和模型的原理与为数据库的现有ZF插件资源制作的模型相同。
答案 0 :(得分:0)
也许你可以试试这个:
class Application_Model_Realplexor_Message
{
protected $realplexor;
public function __construct() {
$this->realplexor = Zend_Registry::get('realplexor');
}
public function post ($text, $fromUser = 0, $fromOperator = 0) {
$this->realplexor->send("Alpha", $text);
}
}