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

yipeiwu_com6年前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实现货币换算的方法

本文实例讲述了PHP实现货币换算的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:<?php /* * File: CurrencyConvert...

PHP字符过滤函数去除字符串最后一个逗号(rtrim)

首先分别解释下, trim过滤字符串两端,rtrim过滤字符串尾部,=chop()ltrim过滤字符串首部. 过滤字符串中键的咚咚就只能用str_replace咯.举个例子说明下, PH...

php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?

什么是CGI   CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务...

PHP的HTTP客户端Guzzle简单使用方法分析

PHP的HTTP客户端Guzzle简单使用方法分析

本文实例讲述了PHP的HTTP客户端Guzzle简单使用方法。分享给大家供大家参考,具体如下: 首先来一段官方文档对Guzzle的介绍: 然后cd到网站根目录,执行Composer命令...

PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例

本文实例讲述了PHP实现获取ip地址的5种方法,以及插入用户登录日志操作。分享给大家供大家参考,具体如下: php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法...