要查找Laravel应用程序中定义函数的位置,我正在尝试执行此操作:
里面 App\Http\Controllers
命名空间:
$reflFunc = new ReflectionFunction('function_name');
但得到一个错误:
PHP错误:第169行的/var/www/html/s/source/app/Http/Controllers/HomeController.php中找不到类'App \ Http \ Controllers \ ReflectionFunction'
我甚至尝试使用全局命名空间:
ReflectionFunction类不应该位于laravel试图找到它的地方,但请建议我可能缺少什么?
3 回答
您正在类中运行此代码,该代码本身位于
namespace App\Http\Controllers
内 . 所以你应该明确定义ReflectionFunction
类属于全局命名空间:注意
\ReflectionFunction
而不是简单的ReflectionFunction
你似乎忘了在 class 的顶部
use ReflectionFunction;
. 或者改为(注意反斜杠)$reflFunc = new \ReflectionFunction('function_name');
ReflectionFunction位于全局命名空间中 .
见:http://php.net/manual/en/class.reflectionfunction.php
在全局命名空间写入中使用类构造函数
$ reflFunc = new \ ReflectionFunction('function_name');