Laravel路由 - 多路径

时间:2014-02-18 21:10:50

标签: php laravel-4

我正在使用laravel来制作API。将提供以下端点:

目前我有:

Route::get('/{appname}/{network}/{device}', function()
{
    return 'Hello World';
});

这个服务/ appname / network / device /但我想要的是它可以是以下但是在一条路线中而不需要额外的路由:

Route::get('/{appname}', function()
{
    return 'App Name';
});

Route::get('/{appname}/{network}', function()
{
    return 'App Name / Network';
});

Route::get('/{appname}/{network}/{device}', function()
{
    return 'App Name / Network / Device';
});

我知道我可以使用RESTFUL控制器,但这只会起作用(我相信),其名称如下:

public function getAppname()
{
    //app
}

但如果我用过:

public function getAppnameNetwork()
    {
        //app-network
    }

它会变成:

  

/应用程序的名字的网络/

非常感谢任何建议/帮助。

谢谢:)

2 个答案:

答案 0 :(得分:2)

您可以选择路由参数:

Route::get('/{appname}/{network?}/{device?}', function($appname, $network = null, $device = null)
{
    return "$appname - $network - $device";
});

答案 1 :(得分:-1)

我认为路由组可能就是你想要的。

http://laravel.com/docs/routing#route-groups会提供更多信息。

如果您需要变量前缀,请查看:https://github.com/jasonlewis/enhanced-router