无论在网址中输入什么内容,Laravel 4 Resource Controller都会显示单页

时间:2013-05-05 19:25:45

标签: php routing laravel php-5.3 laravel-4

我已经使用jefferyway的laravel4生成器作为播放器设置了资源控制器。 所以,当我去url / players / show时,它会显示show.blade.php。那是对的。但是当我去/ players / {我可以传递的任何名字字段}时,它会转到show.blade.php。没有抛出httpnotfoundexception或任何错误。

这些是应用程序的控制器和路由文件。

http://paste.laravel.com/qwp
http://paste.laravel.com/qwq

3 个答案:

答案 0 :(得分:4)

这就是它的工作方式 第45行的show方法处理对/players/{anything}的GET请求。


Jeffery Way在Laravel 4上有一个非常好的截屏系列,他详细解释了这个:

Resourceful Controllers: Part 1
Resourceful Controllers: Part 2

答案 1 :(得分:0)

注册资源控制器时,它会为您创建这些路径:

GET /players                                                    players.index            PlayerController@index                       
GET /players/create                                             players.create           PlayerController@create                      
POST /players                                                   players.store            PlayerController@store                       
GET /players/{players}                                          players.show             PlayerController@show                        
GET /players/{players}/edit                                     players.edit             PlayerController@edit                        
PUT /players/{players}                                          players.update           PlayerController@update                      
PATCH /players/{players}                                                                 PlayerController@update                      
DELETE /players/{players}                                       players.destroy          PlayerController@destroy 

您可以将此列表包含在:php artisan routes

您现在可以看到players.show将处理/ players / *

答案 2 :(得分:0)

使用示例:

Route::group(array('before' => 'auth'), function()
{
    Route::get('/', function()
    {
        // Has Auth Filter
    });

    Route::get('user/profile', function()
    {
        // Has Auth Filter
    });
});