使用Request时,Laravel 5 500内部错误

Jer*_*olo 0 php laravel laravel-routing laravel-5

你好 !

我是Laravel的初学者.我想尝试一下,所以我使用make:controller制作了一个基本的控制器,并开始在其index()函数中播放.我只是写了这个:

return "Hello - ".Request::ip()." - ".Input::get('id');
Run Code Online (Sandbox Code Playgroud)

调用相关路由时出现500内部服务器错误

mysite.com/public/emails?id=1
Run Code Online (Sandbox Code Playgroud)

如果我拿出Request :: ip(),它会工作,显示Hello - 1没有任何问题.

路线 :

Route::get('emails', 'EmailsController@index');
Run Code Online (Sandbox Code Playgroud)

控制器开头的包含:

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use \Input;
Run Code Online (Sandbox Code Playgroud)

我想知道两件事:

  • 为什么会出现错误?我看到很多教程使用它没有任何问题
  • 如何在这种情况下有效地进行调试?日志@ storage/logs /中没有任何内容,页面也没有显示任何内容.

谢谢!

Aka*_*kar 7

你必须Requestindex方法中传递一个对象,如下所示:

public function index(Request $request)
{
    return $request->ip;
}
Run Code Online (Sandbox Code Playgroud)

这是Laravel 5改变的方式.在Laravel 4中,您的代码应该可以运行.它们将它分开以使其更具可读性.

这是更清洁和更多的OOP风格.如果你想让你的代码更多OO(面向对象),那么使用它.

我认为这是一个很好的做法,因为大多数Laravel 5开发人员都在使用这种风格.