PHP闭包函数传参及使用外部变量的方法

yipeiwu_com7年前PHP代码库

本文实例讲述了PHP闭包函数传参及使用外部变量的方法。分享给大家供大家参考,具体如下:

在Laravel控制器写两个方法,一个是在内部创建一个闭包函数,一个是执行传过来的闭包函数,测试闭包的写法,use使用外部变量,及闭包函数的传参。如下:

//测试闭包传参及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');
}

在routes.php添加路由:

复制代码 代码如下:
Route::get('/test/closure/{t1}/{t2}',['uses'=>'TestController@testClosure']);

访问www.example.com/test/closure/hehe1/hehe2

浏览器输出结果:

Closure func name:test.closure
p1p2hehe1hehe2

转自:小谈博客 http://www.tantengvip.com/2016/03/php-closure-use/

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php使用exec shell命令注入的方法讲解

使用系统命令是一项危险的操作,尤其在你试图使用远程数据来构造要执行的命令时更是如此。如果使用了被污染数据,命令注入漏洞就产生了。exec()是用于执行shell命令的函数。它返回执行并返...

PHP下通过系统信号量加锁方式获取递增序列ID

在网上搜了搜,有两个办法但都不太好:一个是简单的以进程ID+时间戳,或进程ID+随机数来产生近似的唯一ID,虽简单但对于追求“完美”的我不愿这样凑合,再说Apache2以后进程会维持相当...

PHP中str_replace函数使用小结

这段时间在看《PHP和MySQL Web开发》一书看到str_replace讲解,一段小提示写到:可以为str_replace的三个都使用数组传入,但讲解比较简单,于是决定自己的试验一下...

PHP内置过滤器FILTER使用实例

在这一章节里, 我们来了解一个不太常用但功能强大的 PHP 特性: FILTERS, 该扩展可以用来验证(validation)和纠错(sanitization)   当数据源...

php使用自定义函数实现汉字分割替换功能示例

本文实例讲述了php自定义函数实现汉字分割替换功能。分享给大家供大家参考,具体如下: header("Content-type:text/html;charset=utf-8");...