Php 我需要做的是,用参数创建正确的路线

Php 我需要做的是,用参数创建正确的路线,php,laravel,laravel-5,Php,Laravel,Laravel 5,你好,我需要一个有多个参数的路线。 这样地 URL/name/Thomas/age/22/place/Berlin 也 URL/variablename1/{variable1}/variablename2/{variable2}/variablename3/{variable3} 我需要它,以便它的工作喜欢: URL/age/22/place/Berlin Route::get('/name/{name}/age/{age}/place/{place}', 'HomeController@so

你好,我需要一个有多个参数的路线。 这样地 URL/name/Thomas/age/22/place/Berlin 也 URL/variablename1/{variable1}/variablename2/{variable2}/variablename3/{variable3} 我需要它,以便它的工作喜欢: URL/age/22/place/Berlin

Route::get('/name/{name}/age/{age}/place/{place}', 'HomeController@social');
家庭控制器:

public function social(variablename1=$variable1,variablename2=$variable2,variablename3=$variable3){
//do something
}

有人举过一个快速的例子吗?

只要将您的方法定义为


公共函数社交($name,$age,$place)
首先,不要命名参数variable1,variable2,。。。。这很混乱,用真名


其次,我觉得你的路线很奇怪。你的url中有这么多参数的原因是什么?

那么你是否尝试过将你的方法定义为
公共功能社交($name,$age,$place)
?这是行不通的,因为如果链接仅为/22/Berlin ore/Thomas/Berlin,它就行不通了,那将很容易:这看起来是有史以来最糟糕的想法。不要那样做。你想用这些参数做什么?你想解决的真正问题是什么?我的代码需要知道他们在链接中得到的价值是什么。请使用评论要求澄清。对于seo友好的url。目前它看起来像:?kp=10000&lz=12&vz=8Its将不起作用,因为如果一个参数不在那里,它将显示错误。如果我把它放在路由({name}/{age}/{place})中,我需要提供所有信息。现在我在$_GET?kp=10000&lz=12&vz=8上做了一些修改,如果你想让一些参数是可选的,你可以在你的路由中这样做:
route::GET('/name/{name}/{age?}/{place?}')
并像这样定义你的控制器:
公共函数社会($name,$age=null,$place=null)
这将使年龄和地点选项变得简单而漂亮,谢谢!如果url只给出名称和位置,我该如何解决这个问题?也像“/name/Thomas/Berlin”?好的,我找到了一个不同路线的解决方案。谢谢你的回答帮助我得到答案