在laravel中调用其他控制器方法

sha*_*nks 1 php rest controller laravel

我对laravel框架比较陌生,我注意到laravel控制器存在一个非常令人不安的问题.我不知道是不是它,但它似乎根本不起作用.假设我有一个控制器,我想分割当请求到达绑定到控制器的路由时调用的方法中包含的逻辑.

class SomeController extends BaseController
{
    function doSomething()
    {
        $this->doSomethingExtra();
    }

    function doSomethingExtra()
    {
        return "Something Extra Done";
    }
}
Run Code Online (Sandbox Code Playgroud)

并且让我们说必须如此定义路由

Route::get('main/dashboard','SomeController@doSomething');
Run Code Online (Sandbox Code Playgroud)

从第一个调用的第二个方法永远不会向浏览器返回字符串"Something Extra Done".infact它返回一个空的200响应.但是,当您像往常一样从doSomething()返回响应时,这似乎有效.任何人都知道为什么这样做?无论如何将控制器逻辑分解为几个实际返回客户端响应的方法?

tha*_*max 5

改变这个

 $this->doSomethingExtra();
Run Code Online (Sandbox Code Playgroud)

对此.

 return $this->doSomethingExtra();
Run Code Online (Sandbox Code Playgroud)