Laravel 我有两个控制器a和B。如何从a使用B中的方法?
我有两个控制器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()?方法
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');
}
}