Php 在laravel中找不到ReflectionFunction

Php 在laravel中找不到ReflectionFunction,php,laravel,Php,Laravel,查找函数在Laravel应用程序中的定义位置 我正在尝试这样做: 内部App\Http\Controllers命名空间: $reflFunc = new ReflectionFunction('function_name'); 但是得到一个错误: PHP错误:类“App\Http\Controllers\ReflectionFunction”不是 发现于 /var/www/html/s/source/app/Http/Controllers/HomeController.php 第169行 我

查找函数在Laravel应用程序中的定义位置 我正在尝试这样做:

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

$reflFunc = new ReflectionFunction('function_name');
但是得到一个错误:

PHP错误:类“App\Http\Controllers\ReflectionFunction”不是 发现于 /var/www/html/s/source/app/Http/Controllers/HomeController.php 第169行

我甚至尝试使用全局名称空间:

ReflectionFunction类不应该位于laravel试图找到它的位置,
但请指出我可能缺少什么?

您正在类中运行此代码,而类本身就在
命名空间应用程序\Http\Controllers
中。因此,您应该明确定义
ReflectionFunction
类属于全局命名空间:

$reflFunc = new \ReflectionFunction('function_name');
print $reflFunc->getFileName() . ':' . $reflFunc->getStartLine();

注意
\ReflectionFunction
而不是简单的
ReflectionFunction

似乎您忘记了
使用ReflectionFunction在你的班级中名列前茅。或者更改为(注意反斜杠)
$reflFunc=new\ReflectionFunction('function_name')

ReflectionFunction位于全局命名空间中

见:

在全局命名空间中使用类构造函数的步骤


$reflFunc=new\ReflectionFunction('function_name')

在我看来,这是不必要的。你是否尝试将其包括在内?我确信这将解决您的问题。如果这仍然不起作用,请检查您的代码,以查看除了第169行的HomeController.php之外,您是否在代码的任何其他部分调用了
ReflectionFunction
。您能想到任何原因吗?原因肯定是缺少全局命名空间定义,甚至PHP错误也会给您一个提示,因为它试图在当前名称空间中查找
ReflectionFunction
。请重新检查您是否尝试了正确的全局类调用,接受此答案,因为您是第一个回答的。我尝试了,但得到了相同的错误。你们能想出什么理由吗?伙计们,我很抱歉举了一面假红旗!这是另一个问题,这次导致了错误。谢谢你的支持。