Php Laravel 4:在不关闭的情况下在路线内传递参数

Php Laravel 4:在不关闭的情况下在路线内传递参数,php,laravel-4,url-routing,Php,Laravel 4,Url Routing,我有一个控制器,我想用于许多路线。我需要传递一些参数,但我不知道在不使用闭包的情况下如何传递 我有这样一个动作: public function show($view, $param) { return View::make($view)->with('param', $param); } Route::get('/myfirstlink', array('uses' => 'MyController@show') ); Route::get('/myfirstlink'

我有一个控制器,我想用于许多路线。我需要传递一些参数,但我不知道在不使用闭包的情况下如何传递

我有这样一个动作:

public function show($view, $param)
{
    return View::make($view)->with('param', $param);
}
Route::get('/myfirstlink', array('uses' => 'MyController@show') );
Route::get('/myfirstlink', array('uses' => 'MyController@show', 'atts' => array('view'=>'firsttemplate','param'=>'firstparam')) );
现在我知道我可以生成这样的路线:

public function show($view, $param)
{
    return View::make($view)->with('param', $param);
}
Route::get('/myfirstlink', array('uses' => 'MyController@show') );
Route::get('/myfirstlink', array('uses' => 'MyController@show', 'atts' => array('view'=>'firsttemplate','param'=>'firstparam')) );
但是我想传递$view和$param,而不在url中传递它们。 比如:

Route::get('/myfirstlink', array('uses' => 'MyController@show') ); //with $view='firsttemplate',$param='firstparam'
Route::get('/mysecondlink', array('uses' => 'MyController@show') ); //with $view='secondtemplate',$param='secondparam'
如何以最干净的方式做到这一点

先谢谢你

编辑澄清:

我不需要用户指定值。我想用不同的参数调用相同的控制器操作。。。大概是这样的:

public function show($view, $param)
{
    return View::make($view)->with('param', $param);
}
Route::get('/myfirstlink', array('uses' => 'MyController@show') );
Route::get('/myfirstlink', array('uses' => 'MyController@show', 'atts' => array('view'=>'firsttemplate','param'=>'firstparam')) );

您可以创建会话,或通过“隐藏输入”或cookie发送。
但在您的情况下,我建议使用会话,您可以随时销毁/更改/创建会话。

您的$view和$param来自哪里?表单输入?我想在我的路线中硬编码它。类似于Route::get('/myfirstlink',array('使用'=>'MyController@show','atts'=>array('view'=>'firsttemplate','param'=>'firstparam'));您可以在
show()
方法中执行
switch(Request::path())
Request::path()
将为您提供“myfirstlink”或“mysecondlink”,但这不会像您所希望的那样干净。我仍然不明白为什么不能将它们作为单独的路线。如果你能提供一个真实的场景,那么我可能能提供更多帮助。重点不是管理控制器内部的路由。我已经在laravel irc频道上问过了,但他们没有回答。看起来最简单(但很可怕)的方法是:
Route::get('/myurl1',function(){return(new MyController)->show('myfirstparam','mysecondparam');})如果您有改进的建议,那就太好了。我不需要发送它,也不需要在会话中存储它。我只需要将一些参数直接传递给控制器操作。