Laravel 我有两个控制器a和B。如何从a使用B中的方法?

Laravel 我有两个控制器a和B。如何从a使用B中的方法?,laravel,Laravel,我有两个控制器a和B。如何从a使用B中的方法?例如: class A extends BaseController { public function a() { } } …在另一个文件中 class B extends BaseController { public function b() { } public function c() { // do something } } 如何使用函数a()中的函数c()?方法

我有两个控制器a和B。如何从a使用B中的方法?例如:

class A extends BaseController {
    public function a() {

    }
}
…在另一个文件中

class B extends BaseController {
    public function b() {

    }

    public function c() {
        // do something
    }
}

如何使用函数a()中的函数c()?

方法是创建类a的实例,然后调用其方法。对于静态方法调用,只需执行
a::a()和非静态调用需要创建一个实例
$myA=newa(…)
然后调用如下方法:
$myA->a()@SpencerWieczorek:谢谢!这里的问题是,你为什么要这么做?如果来自控制器a的方法中有您想要重用的逻辑,那么您应该创建一个无论如何都保存该逻辑的服务/库。然后,您可以在其他每个控制器中使用该逻辑。
//AController.blade.php

class A extends BaseController {

   private $b;    

   public function __construct(B) {
      $this->b = new B();
   }

    public function a() {
       $this->b->c();
    }
}

//BController.blade.php

class B extends BaseController {
    public function b() {

    }

    public function c() {
      echo('Im method from controller B');
    }
}