検索

ホームページ  >  に質問  >  本文

laravelで1つのコントローラのメソッドを使用して別のコントローラのメソッドを呼び出すにはどうすればよいですか?

laravel のあるコントローラーのメソッドが別のコントローラーのメソッドを呼び出したい場合はどうすればよいですか?

例:
AaaController.php

リーリー

BbbController.php

リーリー

BbbController の bbb() メソッドは AaaController の aaa() メソッドをどのように呼び出す必要がありますか?

仅有的幸福仅有的幸福2836日前861

全員に返信(6)返信します

  • 巴扎黑

    巴扎黑2017-05-16 16:49:42

    これは、aaa メソッドでロジックを抽出していないことを示しています。orm はリポジトリに配置でき、論理操作はサービスに配置できます

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 16:49:42

    これは通常はお勧めできません。

    リーリー

    新しい AaaController を作成してメソッドを直接呼び出すだけではなく、なぜこれほど複雑なのでしょうか?依存関係の注入に対処する必要があるためです。

    返事
    0
  • PHPz

    PHPz2017-05-16 16:49:42

    コントローラーBにコントローラーAのインスタンスを作成
    この方法でも使用可能ですが、合法かどうかはわかりません

    返事
    0
  • PHPz

    PHPz2017-05-16 16:49:42

    (新しい AaaController ())->aaa();

    返事
    0
  • 迷茫

    迷茫2017-05-16 16:49:42

    BaseController を構築し、他の 2 つのコントローラーがこのコントローラーを共同で継承できます。いくつかのパブリック メソッドを BaseController に配置するか、ヘルパー ファイルを追加できます。

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:49:42

    これを行う必要がある場合は、呼び出されるメソッドを静的メソッドとして定義できます。次に、クラス名が直接呼び出されます。ただし、これはお勧めしません

    返事
    0
  • キャンセル返事