Laravel 4 ReflectionException on DI



我正在作为新开发人员处理代码,经过长时间的重构,我遇到了一个困扰我的错误。一个方法 id 出错,它抛出了一个ReflectionException: Class does not exist。错误在此行中引发:

$shippingService = App::make('ShippingServiceInterface');

实际的类当然存在。我尝试运行composer dump-autoload,并再次停止并启动流浪机器,但无济于事。

接口本身有两种方法,并且是命名空间的。

文件夹结构与常规Laravel应用程序不同,因为所有内容都存储在一个lib文件夹中,该文件夹完全通过composer.json自动加载。

任何想法如何追踪这个问题?

编辑:

我尝试将其添加到现有的服务提供商,然后运行dump-autoload,但仍然相同。

编辑2:

更奇怪的是,在autoload_classmap.php我看到类在运行后被加载dump-autoload

我发现错误实际上是注入的接口没有任何实现它的对象,因此实际上无法注入具体的类。

相关内容

  • 没有找到相关文章

最新更新