PHP 从命名空间内的函数获取参数
PHP get params from function inside of Namespace
我正在尝试获取存储在命名空间和 class 中的函数的参数(名称)。我试过 ReflectionFunction
,但我只能在没有名称空间和 classes 的情况下使它工作。我尝试调用的函数是非静态的,这并没有使它变得更容易。
namespace app\http;
class Test {
public function func(User $user, $id) {
return $user;
}
}
我正在尝试从这里获取“user”和“id”。有人有什么建议吗?
使用:https://www.php.net/manual/en/reflectionfunctionabstract.getparameters.php
$ref = new ReflectionMethod(\app\http\Test::class, "func");
foreach ($ref->getParameters() as $param) {
echo $param->getName();
}
$ref->getParameters()
returns 一个 ReflectionParameter
class 数组,它允许您获得更多信息,而不仅仅是名称; https://www.php.net/manual/en/class.reflectionparameter.php
您也可以使用 class 的字符串值:"\app\http\Test"
但特殊的 ::class
常量在不同的命名空间中更可靠(如果不使用完全限定名称) .
The special ::class constant allows for fully qualified class name resolution at compile time, this is useful for namespaced classes
我正在尝试获取存储在命名空间和 class 中的函数的参数(名称)。我试过 ReflectionFunction
,但我只能在没有名称空间和 classes 的情况下使它工作。我尝试调用的函数是非静态的,这并没有使它变得更容易。
namespace app\http;
class Test {
public function func(User $user, $id) {
return $user;
}
}
我正在尝试从这里获取“user”和“id”。有人有什么建议吗?
使用:https://www.php.net/manual/en/reflectionfunctionabstract.getparameters.php
$ref = new ReflectionMethod(\app\http\Test::class, "func");
foreach ($ref->getParameters() as $param) {
echo $param->getName();
}
$ref->getParameters()
returns 一个 ReflectionParameter
class 数组,它允许您获得更多信息,而不仅仅是名称; https://www.php.net/manual/en/class.reflectionparameter.php
您也可以使用 class 的字符串值:"\app\http\Test"
但特殊的 ::class
常量在不同的命名空间中更可靠(如果不使用完全限定名称) .
The special ::class constant allows for fully qualified class name resolution at compile time, this is useful for namespaced classes