PHP如何将外部变量$membreConf传入路由注册的匿名回调函数
问题根源
PHP 匿名函数默认不继承父作用域的变量,你代码中回调函数内部访问的$membreConf未在函数内部定义,会触发未定义变量警告,导致文件引入逻辑失效。
修复方案
使用use关键字将外部变量导入匿名函数的作用域即可,修改后代码如下:
$membreConf = '/home/mapubs/conf_maplate.php'; $route = new Route(); $route->add('/', function() use ($membreConf) { include($membreConf); include('home.php'); });
补充说明
- 若需要在匿名函数内修改外部变量且同步修改结果到外部作用域,可使用引用传递,写法为
use (&$membreConf) - 多个变量需要导入时,直接在
use括号内用逗号分隔即可,示例:use ($confPath, $userInfo, &$count)
内容的提问来源于stack exchange,提问作者user3570404
相关产品推荐
相关产品推荐

