我正在作为新开发人员处理代码,经过长时间的重构,我遇到了一个困扰我的错误。一个方法 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
我发现错误实际上是注入的接口没有任何实现它的对象,因此实际上无法注入具体的类。