laravel里面一个controller中的方法要调用另一个controller中的方法要怎么做?

laravel里面一个controller中的方法要调用另一个controller中的方法要怎么做?

比如:
AaaController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class AaaController extends Controller
{
    public function aaa()
    {
        //...
    }
}

BbbController.php

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class BbbController extends Controller
{
    public function bbb()
    {
        //这里要调用aaa(),应该怎么做?
    }
}

BbbController中的bbb()方法要调用AaaController中的aaa()方法,要怎么做?

JellyBool

这样不可以?

(new AaaController)->aaa();

以后别写这种名字的类和方法名了,就算示例也不要写这样的。

mostwin

为什么不把他封装成一个方法? new *Controller 不太好吧

canihelpyou 回复 mostwin

本身就是方法,还要怎么封装?麻烦写一下好么?

lvqingan
return (new \Illuminate\Routing\ControllerDispatcher(app()))->dispatch(
        \Route::getCurrentRoute(), app()->make('\App\Http\Controllers\AaaController'), 'aaa'
);
lvqingan

虽然啰嗦了点,但是感觉这是最规范的写法了