2012-02-22 7 views
0

で変数の要求を渡す>要求 - > paramNameに

MyController Iで
class MyRequest extends Zend_Controller_Request_Http{ 

    public $params = array(); 

    public function __construct() { 
     $this->params = $this->getParams(); 
     parent::__construct(); 
    } 

    public function __get($name) { 
     if (isset($this->_params[$name])) { 
      return $this->_params[$name]; 
     } 
    } 

    public function __isset($name) { 
     return isset($this->_params[$name]); 
    } 

} 

可変リクエストを追加しました

public $request = null; 

私はそのスタンドアーツリクエストをどのように変更できますか?

public function __construct(
    Zend_Controller_Request_Abstract $request, 
    Zend_Controller_Response_Abstract $response, 
    array $invokeArgs = array()) { 
     $request = new MyRequest(); 
     parent::__construct($request, $response, $invokeArgs); 
     $this->request = $this->getRequest(); 
    } 
  • この関数は結果を与えていません。

オプション1は、ブートストラップ方法_initRequest()を作るです:

protected function _initRequest() { 
    $this->bootstrap ('FrontController'); 
    $front = $this->getResource ('FrontController'); 
    $request = $front->getRequest(); 
    if (null === $front->getRequest()) { 
     $request = new MyRequest(); 
     $front->setRequest ($request); 
    } 
    return $request; 
} 
+0

コンストラクタがMyControllerクラスに属しています – atherdon

答えて

0

それはあなたを助けるかもしれない、これを試してみてください:モデルで

コントローラファイル内

public function exampleAction(){ 
    $result = $this->_request; 

    $model = new Employer_Model_JobInfo();   
    $results = $model->sample($result); 
} 

// the above line stores the values sent from the client side in $result.then sends that values to Model file with parameter $result .. 

をファイル

nameおよびemailは、クライアントからサーバーにデータを送信するために使用された名前です。

1

少し汚れていて、テストされていない解決策。それがうまくいくか聞いてみたい。

//Bootstrap: 

public function _initRequest() 
{ 
    $this->bootstrap('frontController'); 
    $front = $this->getResource('frontController'); 
    $front->setRequest(new MyRequest()); 
} 
+0

私はこのオプションについて考えていましたが、本当に好きではありません – atherdon

関連する問題