Laravel仅在某些路线上返回空白页

3 php laravel laravel-5 laravel-5.3

我遇到了路由返回空白页的问题。我正在使用Homestead自己的开发环境,但不确定如何调试。

/storage/logs/laravel ...当我访问了白页没有返回任何异常。

web.php(失败的地方):

Route::get('/clinic/register', 'ClinicController@register');
Run Code Online (Sandbox Code Playgroud)

Controller.php:

public function register()
{
    return view('clinic.register', ['specialisms' => Specialism::pluck('specialism', 'id')]);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我访问/clinic/register时,会看到空白页。我怎么知道为什么它失败了?白页肯定会在某处返回异常吗?

Sau*_*abh 8

由于您尚未提供完整的路线设置。这个答案是我最好的猜测。看看是否有帮助。

您的问题提示路由设置不正确。如果您创建了诊所资源,则诊所/注册路径应位于该资源之前。

// clinic/register route should come first
Route::get('clinic/register','ClinicController@register');

// followed by rest of the routes which resource will create
Route::resource('clinic','ClinicController');
Run Code Online (Sandbox Code Playgroud)

获得空白页的原因是因为Route :: resource将使用通配符创建一些路由。例如,诊所/ {诊所}将映射以显示控制器上的方法。因此,当您向诊所/注册提出获取请求时,它将被映射到此show方法,而不是您的注册方法。

没有出现任何错误的一种可能性是您的show方法还没有任何代码。因此,响应为空。

总结:注册路线的顺序很重要