0

私は次のコントローラーを持っています:

App::import('Controller', 'Users');
class EmployeesController extends  AppController
{

}

別の StackOverflow の質問では、次のことを行うように言われました。

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

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

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

ただし、これを自分のコードにコピーしようとすると、コードは次のようになります。

App::import('Controller', 'Users');

class EmployeesController extends  AppController {

    public $name = 'Employee';
    $Users = new UsersController;

構文エラーが発生し、とにかく実行すると致命的なエラーが発生します。

私の質問は、別のコントローラーから関数を呼び出すにはどうすればよいですか?

4

1 に答える 1

3

あなたはそうしない。

リンク先の質問から受け入れられた回答を読んでください。それは適切です。そして、Mark Story (CakePHP のコア貢献者) がコメントでそれを支持しています。

あなたの要件が何であるかは正確にはわかりませんが、ほぼ確実にロジックをモデルに移動したいと考えています。MVC では、常に「ファット モデル、スキニー コントローラー」と考えてください。

さらに質問がある場合は、コメントで質問するか、質問を更新してください。詳細情報で回答を更新します。

于 2013-08-09T09:40:42.873 に答える