就在最近,我们决定从symfony 2.8也升级3.3,注意到这一点,我觉得最好开始一个新的symfony项目,只是拉过项目的某些部分,并更改在这个主要版本升级中更改的关键所需项目。我已经解决了大多数问题,但目前我明白这意味着我可能有更多我怀疑的问题。这是当前的:
C:xampphtdocsFresh_Api>php bin/console server:run PHP Fatal error: Uncaught SymfonyComponentDebugExceptionClassNotFoundException: Attempted to lo ad class "CommandListener" from namespace "DirectiveMultiTenantMasterBundleEventListener". Did you forget a "use" statement for another namespace? in C:xampphtdocsFresh_Apivarcachedeva ppDevDebugProjectContainer.php:580 Stack trace:
#0 C:xampphtdocsFresh_ApivendorsymfonysymfonysrcSymfonyComponentDependencyInjectionContai ner.php(331): appDevDebugProjectContainer->getAppBundle_CommandListenerService()
#1 C:xampphtdocsFresh_ApivarcachedevappDevDebugProjectContainer.php(965): SymfonyComponentD ependencyInjectionContainer->get('app_bundle.comm...')
#2 C:xampphtdocsFresh_ApivendorsymfonysymfonysrcSymfonyComponentEventDispatcherEventDispatcher.php(229): appDevDebugProjectContainer->{closure}()
#3 C:xampphtdocsFresh_ApivendorsymfonysymfonysrcSymfonyComponentEventDispatcherEventDispatcher.php(61):SymfonyComponentEventDispatcherEventDispatcher->sortListeners('console.command')
#4 C:x in C:xampphtdocsFresh_ApivarcachedevappDevDebugProjectContainer.php on line 580
这当然是在我尝试运行php bin/console server:run
之后
我尝试删除缓存,删除自动加载文件,删除供应商文件并重新安装作曲家。我试图查看是否缺少任何依赖项。(我可能在这里错过了一些东西(
它正在谈论的文件是一个生成的文件,因此它的某些内容没有正确注意到该类的存在。
这是命令侦听器
namespace DirectiveMultiTenantMasterBundleEventListener;
use DirectiveMultiTenantMasterBundleConnectionConnectionWrapper;
use DirectiveMultiTenantMasterBundleEntityTenant;
use DirectiveMultiTenantMasterBundleRepositoryTenantRepository;
use AppBundleTenantProviderInterface;
use DoctrineDBALConnection;
use DoctrineDBALSchemaAbstractSchemaManager;
use Exception;
use SymfonyComponentConsoleCommandCommand;
use SymfonyComponentConsoleEventConsoleCommandEvent;
use SymfonyComponentConsoleInputInputOption;
appDevDebugProjectContainer有点大,所以我会等待看看是否有任何响应,看看它是否需要,因为我确信是其他原因导致它无法生成所需的正确信息。
感谢您的任何意见。
编辑:这是这里的一个链接,指出这是相同的问题,但是在所有这些之前,这个确切的问题已经解决了。这是我在该部分的代码。
"autoload" : {
"psr-4": {
"AppBundle\": "src/AppBundle"
},
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
这已经修复了。 这是我用来尝试解决我的问题的另一个链接,当然没有任何帮助。
PHP bin/console symfony 命令给出致命错误
和另一个
Symfony 3.3 Get ClassNotFoundException
所有功劳都归于塞拉德 可悲的是,答案是重复的,但我没有注意到需要的东西。 自动加载器需要知道它从哪里拉取类,并且必须使用Symfony现在的新方式进行设置。这是我的示例以及我的附加代码以使其工作。
"autoload" : {
"psr-4": {
"AppBundle\": "src/AppBundle",
"BundleName\": "src/BundleName"
},
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},