【问题标题】:First "ClassNotFoundException" then "FileLoaderLoadException"首先是“ClassNotFoundException”,然后是“FileLoaderLoadException”
【发布时间】:2018-01-22 08:35:12
【问题描述】:

作为初学者,我正在尝试在 Symfony 2 中创建应用程序,尽可能多地学习。默认创建的第一个 AppBundle 很简单。其次,我使用 create:bundle "ResultBundle" 创建,有点粗糙,起初我得到了 "ClassNotFoundException",但经过一些设置后,它又按预期工作了。 带着不那么当之无愧的信心,我尝试创建第三个捆绑包“ClinicBundle”,然后一切都崩溃了。虽然我为新包创建了 routing.yml,并在 AppKernel.php 中正确设置了它(链接直接指向新类 ClinicBundle.php),并正确设置了 app/config/routing.yml(与之前的 ResultBundle 相同)并添加了捆绑到 composer.json 自动加载,与之前的捆绑包相同,我不断收到此 ClinicBundle 的“ClassNotFoundException”,就像它无法在 AppKernel.php 中加载一样,尽管当我指向该行中的链接时:

new ClinicBundle\ClinicBundle()

它顺利进入正确的文件。我在网上找到的每条建议都已经完成并正确设置。一切都到位,但“ClassNotFoundException”继续存在,它只是不工作。我也尝试了clear:cache,但即使在那时也出现了同样的错误。我检查了一切,一切都准备好了。路由文件,路径,作曲家自动加载。应用内核... 最后,我听从了论坛的一些错误建议,运行了一些“生成自动加载文件”的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 也不再起作用,但会发生同样的错误,但对于 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”?谢谢!

【问题讨论】:

    标签: php symfony routing composer-php classnotfoundexception


    【解决方案1】:

    只是没有type: annotation

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

    【讨论】:

    • @BiljanaM。我总是#SOReadyToHelp ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2021-09-11
    • 2013-09-28
    • 2022-11-02
    • 1970-01-01
    • 2015-01-11
    • 2013-02-14
    相关资源
    最近更新 更多