我想使用Route :: get以及路线选项,功能和位置。以下是我的路线代码:
Route::get('/view/{id}', array('uses' =>'BookController@view','as' => 'book.view'), function($id)
{
die('hello');
})->where('id', '[A-Za-z]+');
因此,当我调用url view/4
时,它将打开404页,而当我调用view/abc
时,它将运行控制器代码,但在两种情况下均未执行功能代码。
我该如何解决?
答案 0 :(得分:0)
对于路由,您已经在“ id”变量中添加了限制,并且应该仅是字符串“-> where('id','[A-Za-z] +');”
因此,如果您使用数字,那么这里没有问题,应该可以让您得到404
对于控制器问题,您将其编码错误,因为您添加了控制器,并且同时编写了Closure,而您只需要编写一个。
所以试试这个
Route::get('/view/{id}', ['uses' =>'BookController@view','as' =>'book.view'])->where('id', '[A-Za-z]+');
并使用数字尝试这个
Route::get('/view/{id}', ['uses' =>'BookController@view','as' =>'book.view']);
谢谢