gpt4 book ai didi

php - 如何访问在闭包中使用 use() 传递的 ReflectionFunction 中的参数

转载 作者:行者123 更新时间:2023-12-02 01:11:55 24 4
gpt4 key购买 nike

最近,我一直面临通过 ReflectionFunction 访问参数的问题,这些参数已通过 use() 构造传递给闭包。

例子:

$var = 'test';
$var2 = 'test2';
$func = function()use($var,$var2) {
echo $var;
};

$ref = new ReflectionFunction($func);
// Access the parameters here

我将如何继续解决这个问题?

最佳答案

可以通过访问$ref->getStaticVariables()来解决。

示例:

<?php


$var = 'test';
$var2 = 'test2';
$func = function()use($var,$var2) {
echo $var;
};

$ref = new ReflectionFunction($func);
var_dump($ref->getStaticVariables());

输出:

array(2) { ["var"]=> string(4) "test" ["var2"]=> string(5) "test2" }

工作测试用例:https://3v4l.org/hDl07

引用getStaticVariables():http://php.net/manual/de/reflectionfunctionabstract.getstaticvariables.php

关于php - 如何访问在闭包中使用 use() 传递的 ReflectionFunction 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44887737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com