CakePHP:ののようにコアクションの別のコントローラー配列としてのパラメータ?

StackOverflow https://stackoverflow.com/questions/1507552

質問

にコントローラには、何が最も適切な方法での行動もコントローラー、またパスの配列としてのパラメータ?

知ってい利用できるrequestAction電話行為その他のコントローラができるパスの配列としてのパラメータを要求すものです。

やまない、アクションアプリコントローラです。そのことが解決とはならない。

のその他の方に知っている負荷のその他のコントローラーとして説明:http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html#importing-controllers-models-components-behaviors-views-and-helpers

がありうるだけのその他のコントローラーの行動を受け継ぎながら、配列パラメータとして?

これまでcakePHPで駐日アンゴラ共和国大使館特命全よろしくお願いいたします。感謝。

役に立ちましたか?

解決

それぞれに適するロジックからのコントローラー、そのモデルでは、そのようなことに最初のコントローラから。

$var = ClassRegistry::init('SecondModel')->myMethod($array);
$this->set(compact('var'));

その後、ビューのコントローラの動作を利用することができます。

いいコントローラー方法で行動できるヒットブラウザを通して、どの論理は私のモデルで、外国人モデルの方法からコントローラーの行動を必要とするデータからのいのないモデルのモデルとコントローラ、データの使用に見合っているデータの閲覧頻繁に演出している要素です。

他のヒント

いくつかアドバイスをご利用方法requestActionではなく輸入し、インスタンスを生成に必要なコントローラです。

CakePHP doc"というrequestActionる:

"ことは、ほとんどありません適切な使用 コントローラー又はモデル"

http://book.cakephp.org/view/434/requestAction

一度に輸入さのコントローラー電話する方法のこのコントローラとそのパラメータ。

<?php
  //Import controller
  App::import('Controller', 'Posts');

  class CommentsController extends AppController {
    //Instantiation
    $Posts = new PostsController;
    //Load model, components...
    $Posts->constructClasses();

    function index($passArray = array(1,2,3)) {
      //Call a method from PostsController with parameter
      $Posts->doSomething($passArray);
    }
  }
?>

としてCakePHPの1.2.5きを渡すことができることを様々なパラメータ型のパラメータrequestAction().例えば:

$this->requestAction('/users/view', array('pass' => array('123')));

そしてUsersController:

function view($id) {
    echo $id; // should echo 123 I believe, otherwise try $this->params['pass'].
}

の代わりにユーザ登録(メール、またあるみ"フォーム"と"と名付けたとあり、それを通形/名前のパラメータです。

CakePHP2.X:

<?php
App::uses('AppController', 'Controller');
App::uses('PostsController', 'Controller');

class CommentsController extends AppController {

    public function index($parameter = null){
        //Instantiate
        $Posts = new PostsController();
        //Load model, components...
        $Posts->constructClasses();

        //Call a method of Posts passing a parameter
        $Posts->aMethod($parameter);
    }
}

いう私のAppControllerのクラスは以下の方法で可変でキャッシュの場合複数の通話

var $controllersArray = array();

function _getController( $pControllerName ){
    if ( ! isset($this->controllersArray[$pControllerName]) ){
        $importRes = App::import('Controller', $pControllerName);// The same as require('controllers/users_controller.php');
        $strToEval = "\$controller = new ".$pControllerName."Controller;";
        $evalRes = eval($strToEval);
        if ( $evalRes === false ){
            throw new AppException("Error during eval of given getController '$pControllerName'");
        }
        $controller->constructClasses();// If we want the model associations, components, etc to be loaded
        $this->controllersArray[$pControllerName] = $controller;
    }
    $result = $this->controllersArray[$pControllerName];

    return $result;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top