Php 从laravel中的routes向控制器传递静态值
我想将一个静态值(变量或静态字符串)从路由定义传递给控制器。 例如,如果考虑以下路线:Php 从laravel中的routes向控制器传递静态值,php,laravel,laravel-5,routes,laravel-5.3,Php,Laravel,Laravel 5,Routes,Laravel 5.3,我想将一个静态值(变量或静态字符串)从路由定义传递给控制器。 例如,如果考虑以下路线: Route::get('/', [ 'uses' => '\Controllers\FoController@show', 'as' => 'show' ]); 我想向它传递一个变量(例如,$var1),然后可以在FoController构造函数或其他控制器方法中访问它,所以我不喜欢url中显示该变量的值。 我该怎么做?谢谢…使用闭包,自己给控制器打电话,想传递什么就传递
Route::get('/', [
'uses' => '\Controllers\FoController@show',
'as' => 'show'
]);
我想向它传递一个变量(例如,$var1),然后可以在FoController构造函数或其他控制器方法中访问它,所以我不喜欢url中显示该变量的值。
我该怎么做?谢谢…使用闭包,自己给控制器打电话,想传递什么就传递什么
Route::get('/', function(){
$controller = app()->make('FoController');
return $controller->callAction('show', ['foo' => 'bar', 'ping' => 'pong']);
});
你可以这样做
Route::any('/home/createuser/{id}','HomeController@createuser');
可以对参数使用{}运算符。
在控制器中
public function createuser($id){
//here you can use $id
}
作为@serge-answer的后续行动,您也可以通过这种方式进行发布,也许这对某人有用
Route::get('/','fooController@index')
->defaults('id', '3');
如果希望该值是静态的,为什么不在控制器的函数本身中使用该值呢?你能解释一下你的问题吗?himashu说的是真的,如果你想传递静态变量,又不想在url中显示为什么不在控制器中使用它。如果不显示原因,就把答案标记为无用是不好的。我只是把它标为有用的反面。