在 Laravel 中找不到 ReflectionFunction

Ram*_*eek 4 php laravel

要查找在 Laravel 应用程序中定义函数的位置,我正在尝试执行以下操作:

内部App\Http\Controllers命名空间:

$reflFunc = new ReflectionFunction('function_name');
Run Code Online (Sandbox Code Playgroud)

但是得到一个错误:

PHP 错误:在第 169 行的 /var/www/html/s/source/app/Http/Controllers/HomeController.php 中找不到“App\Http\Controllers\ReflectionFunction”类

我什至尝试使用全局命名空间:

ReflectionFunction 类不应该位于 laravel 试图找到它的地方,但是请建议我可能遗漏了什么?

Fly*_*ing 8

您正在类内部运行此代码,而该类本身就在namespace App\Http\Controllers. 因此,您应该明确定义ReflectionFunction该类属于全局命名空间:

$reflFunc = new \ReflectionFunction('function_name');
print $reflFunc->getFileName() . ':' . $reflFunc->getStartLine();
Run Code Online (Sandbox Code Playgroud)

注意\ReflectionFunction而不是简单ReflectionFunction