2012-03-04 5 views
0

:私は見つけるためにしようとしている何Zend FrameworkのKrixton_JsonRpc_Clientと呼び出し方法

public function serviceAction(){ 
$config = Zend_Registry::get('config'); 

$client = new Zend_Http_Client(); 
$client->setAuth($config['api']['username'],$config['api']['password']); 

$service = new Krixton_JsonRpc_Client($config['api']['endpoint'], $client); 

switch($this->_getParam('task')) 
{ 
    case 'test': 
     if(!this->getParam('newsletter_id')){ 
      $this->_helper->json(array('sent'=>false,'error'=>'Newsletter ID is invalid, must be numeric')); 
      return; 
     } 

     $request = $service->call('newsletter.send', array($this->_getParam('newsletter_id'),false)); 
     $this->_helper->json($request->result)); 
    break; 

} 

} 

`Zend_Registry::get('config')`, $client->setAuth and $service->call` 

作品をどうするかですか?

私は_getParam('task')が変数を取得またはポストする方法を知っていますが、他の変数についてはわかりません。私はいくつかのZendのドキュメントを見ていましたが、誰かが私を助けてくれれば感謝します!

答えて

2

ここでは2つのことが起こっています。最初はZend_Registryです。 get()を使用すると、以前にレジストリに登録されている値をZend_Registry::set('key', $value)で取得できます。通常、「config」はアプリケーションの構成です。application.iniファイルです。

基本的に、あなたはこのブートストラップ法を使用してコンフィグを登録します:

protected function _initConfig() 
{ 
    $config = new Zend_Config($this->getOptions()); 
    Zend_Registry::set('config', $config); 
    return $config; 
} 

第二のものはZend_Http_Clientの方法よりも何もありません。 setAuth()は基本HTTP認証を設定するために使用され、call()はオブジェクトの内部メソッドKrixton_JsonRpc_Clientです。

これらの方法がどのように機能するのかを深く理解しようとする場合は、最初に男性(特にZend_registryZend_Http_Clientページ)を読んでから、ソースコードをよく読んでください。

2

Zend_Registry::get('config')どこでも利用できるapplication.ini(設定ファイル)内の情報を作るために、おそらくBootstrap.phpで、registryに保存されたデータをリコールです(「設定」は、この場合、配列の名前です)。

bootstrap.phpのは、おそらくのようなものcaontains:

protected function _initRegistry() { 

     //make application.ini configuration available in registry 
     $config = new Zend_Config($this->getOptions()); 
     Zend_Registry::set('config', $config); 
    } 

$client->setAuthは、単に設定ファイルに保存され、$コンフィグ配列を介してアクセスしたことZend_Http_Client()HTTP LINKにユーザーの資格情報を提供しています。

$service->call私はこの私がクラス(おそらくカスタム)に慣れていないだからやって使用されているものをかなり確信しています。ニュースレターのリクエストが 'id'に基づいて行われているようです。

関連する問題