Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel路由-多路由_Php_Laravel 4 - Fatal编程技术网

Php Laravel路由-多路由

Php Laravel路由-多路由,php,laravel-4,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

我正在使用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
}
但如果我使用:

它将成为:

/appname网络/

如有任何建议/帮助,将不胜感激


谢谢:)

您可以选择路由参数:

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

我认为路由组可能是您想要的

我们会有更多的信息

如果需要可变前缀,请查看:

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