Home  >  Article  >  Backend Development  >  How to pass parameters to PHP closure function and use external variables_php tips

How to pass parameters to PHP closure function and use external variables_php tips

WBOY
WBOYOriginal
2016-05-16 19:57:041615browse

The examples in this article describe how to pass parameters to PHP closure functions and use external variables. Share it with everyone for your reference, the details are as follows:

Write two methods in the Laravel controller, one is to create a closure function internally, and the other is to execute the passed closure function, test the writing method of the closure, use external variables, and pass parameters of the closure function . As follows:

//测试闭包传参及use使用外部变量
public function testClosure($t1, $t2)
{
  $closure = function ($param1, $param2) use ($t1, $t2) {
    echo $param1.$param2.$t1.$t2;
  };
  $this->execClosure('test.closure', $closure);
}
//执行闭包函数
protected function execClosure($name, Closure $closure)
{
  echo 'Closure func name:'.$name;
  echo '<br>';
  $closure('p1', 'p2');
}

Add routes in routes.php:

Copy code The code is as follows:
Route::get('/test/closure/{t1}/{t2} ',['uses'=>'TestController@testClosure']);

Visit www.example.com/test/closure/hehe1/hehe2

Browser output:

Closure func name:test.closure
p1p2hehe1hehe2

Reprinted from: Xiaotan Blog http://www.tantengvip.com/2016/03/php-closure-use/

Readers who are interested in more PHP-related content can check out the special topics on this site: "Summary of PHP operating office document skills (including word, excel, access, ppt)", "php date Time usage summary", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php mysql database operation Introductory tutorial " and " Summary of common PHP database operation skills "

I hope this article will be helpful to everyone in PHP programming.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn