2

firstController と SecondController の 2 つのコントローラーがあります。firstController では、secondController の関数を呼び出してパラメーターを渡す必要があります。

どうすればできますか?ありがとう

4

3 に答える 3

1

私はそれをするのは悪い考えだと思う

再ディスパッチ ソリューションに加えて、必要に応じてサービス (必要なメソッドを持つクラスのみ) を作成し、それをコントローラーで使用してみませんか?

または、コントローラーで頻繁に使用する場合はプラグイン (または、より大規模またはアプリ内の任意の場所でジョブを実行する必要がある場合は、イベント リスナーを登録し、コントローラーにイベントをトリガーします)

ただし、controllerLoader からコントローラーを取得してそのメソッドを呼び出すことはできます (ただし、私の意見では、それを行うための代替手段が見つからない場合は、スパゲッティ コーディングを開始していることになります)。

于 2013-09-04T20:50:14.927 に答える
-2

staticメソッドを次のように宣言します。SecondController

class SecondController extends AbstractActionController
{
    public static function method1($param) {
        ...
    }
}

次に、次のように呼び出しFirstControllerます

SecondController::method1($param);
于 2014-11-06T17:16:23.110 に答える