Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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中的routes向控制器传递静态值_Php_Laravel_Laravel 5_Routes_Laravel 5.3 - Fatal编程技术网

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中显示为什么不在控制器中使用它。如果不显示原因,就把答案标记为无用是不好的。我只是把它标为有用的反面。