【问题标题】:Calling other Controller Methods in laravel在 laravel 中调用其他控制器方法
【发布时间】:2013-11-18 23:51:38
【问题描述】:

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

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

    function doSomethingExtra()
    {
        return "Something Extra Done";
    }
}

让我们说一个必须像这样定义的路由

Route::get('main/dashboard','SomeController@doSomething');

从第一个调用的第二个方法永远不会向浏览器返回字符串“Something Extra Done”。事实上它返回一个空的 200 响应。但是,当您像往常一样从 doSomething() 返回响应时,这似乎有效。有人知道为什么会这样吗?有没有办法将控制器逻辑分解为几个实际返回响应给客户端的方法?

【问题讨论】:

    标签: php rest controller laravel


    【解决方案1】:

    改变这个

     $this->doSomethingExtra();
    

    到这个。

     return $this->doSomethingExtra();
    

    【讨论】:

    • 您先生应该喝啤酒!非常感谢
    • 我想补充一点,这与 Laravel 控制器无关。这是 PHP 的预期行为。
    猜你喜欢
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    相关资源
    最近更新 更多