第一个" ClassNotFoundException"然后" FileLoaderLoadException"

时间:2018-01-22 08:35:12

标签: php symfony routing composer-php classnotfoundexception

我正在尝试在Symfony 2中创建应用程序,尽可能多地学习,作为初学者。默认情况下创建的第一个AppBundle很简单。其次,我使用create:bundle" ResultBundle"创建,有点粗糙,我得到了#34; ClassNotFoundException"起初,但经过一些设置,它按预期再次工作。 由于没有那么值得信任,我试图创造第三捆" ClinicBundle"然后一切都崩溃了。虽然我为new bundle创建了routing.yml,并在AppKernel.php中正确设置(链接到新类ClinicBundle.php),并正确设置app / config / routing.yml(与之前的ResultBundle相同)并添加了捆绑到composer.json自动加载,与之前的捆绑包一样,我不断得到" ClassNotFoundException"对于这个ClinicBundle,虽然当我指向该行中的链接时,它无法加载到AppKernel.php中:

new ClinicBundle\ClinicBundle()

顺利发送到正确的文件。我在网上找到的每条建议都已经完成并且设置正确。一切都已到位但是#34; ClassNotFoundException"继续,它只是没有工作。我也试过了clear:cache,但即便如此也出现了同样的错误。我检查了一切,一切都到位了。路由文件,路径,作曲家自动加载。 AppKernel ... 最后,我从论坛中听到了一些不好的建议并运行了一些dump-autoload命令,该命令生成了自动加载文件"之后的一切都要糟糕得多。现在,我遇到很长的FileLoaderLoadException错误很多行,主要是这一行:

Cannot load resource "@ClinicBundle/Resources/config/routing.yml". Make sure the "ClinicBundle/Resources/config/routing.yml" bundle is correctly registered and loaded in the application kernel class. If the bundle is registered, make sure the bundle path "@ClinicBundle/Resources/config/routing.yml" is not empty.

我不知道是什么问题,因为bundle已经在AppKernel中注册了,而且这个路由文件不是空的,它是这样的:

clinic_homepage:
    path:     /clinic
    defaults: { _controller: ClinicBundle:Default:index }

app:
    resource: '@ClinicBundle/Controller/'
    type: annotation

与之前的ResultBundle相同的结构在所有这一切发生之前起作用。此外,ResultBundle也不再起作用,如果我将它放在app / config中的routing.yml文件之上,则会发生同样的错误但是对于ResultBundle。这就是app / config / rounting.yml文件的样子:

clinic:
    resource: "@ClinicBundle/Resources/config/routing.yml"
    type: annotation

result:
    resource: "@ResultBundle/Resources/config/routing.yml"
    type: annotation

app:
    resource: '@AppBundle/Controller/'
    type: annotation

发生什么事了?有谁知道这里缺少什么?如何添加新捆绑包以便它不报告" ClassNotFound"?谢谢!

1 个答案:

答案 0 :(得分:3)

没有type: annotation

clinic:
    prefix: /some-prefix
    resource: '@ClinicBundle/Resources/config/routing.yml'