首先 "ClassNotFoundException" 然后 "FileLoaderLoadException"
First "ClassNotFoundException" then "FileLoaderLoadException"
我正在尝试在 Symfony 2 中创建应用程序,作为初学者尽可能多地学习。默认情况下创建的第一个 AppBundle 很容易。其次,我使用 create:bundle "ResultBundle" 创建的有点粗糙,一开始我得到了 "ClassNotFoundException",但经过一些设置后它又按预期工作了。
带着不那么应得的信心,我尝试创建第三个包 "ClinicBundle",然后一切都崩溃了。尽管我为新包创建了 routing.yml,并在 AppKernel.php 中正确设置了它(link 直接转到新的 class ClinicBundle.php),并设置了 [=36= .yml 正确(与之前的 ResultBundle 相同)并将包添加到 composer.json 自动加载,与之前的包相同,我一直为这个 ClinicBundle 获取 "ClassNotFoundException",就像它无法加载到 AppKernel.php 虽然当我指向该行中的 link 时:
new ClinicBundle\ClinicBundle()
顺利找到正确的文件。我在网上找到的每条建议都已经完成并正确设置。一切都已就绪,但 "ClassNotFoundException" 一直在运行,只是无法正常工作。我也试过 clear:cache
但即使那样也会弹出同样的错误。我检查了一切,一切都到位了。路由文件、路径、作曲家自动加载。应用内核...
最后,我听从了来自论坛的一些错误建议和 运行 一些 dump-autoload
命令,其中 "generated autoload files" 和之后的一切都更糟。现在,我遇到了很多行的 long long 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"?谢谢!
只是没有type: annotation
clinic:
prefix: /some-prefix
resource: '@ClinicBundle/Resources/config/routing.yml'
我正在尝试在 Symfony 2 中创建应用程序,作为初学者尽可能多地学习。默认情况下创建的第一个 AppBundle 很容易。其次,我使用 create:bundle "ResultBundle" 创建的有点粗糙,一开始我得到了 "ClassNotFoundException",但经过一些设置后它又按预期工作了。 带着不那么应得的信心,我尝试创建第三个包 "ClinicBundle",然后一切都崩溃了。尽管我为新包创建了 routing.yml,并在 AppKernel.php 中正确设置了它(link 直接转到新的 class ClinicBundle.php),并设置了 [=36= .yml 正确(与之前的 ResultBundle 相同)并将包添加到 composer.json 自动加载,与之前的包相同,我一直为这个 ClinicBundle 获取 "ClassNotFoundException",就像它无法加载到 AppKernel.php 虽然当我指向该行中的 link 时:
new ClinicBundle\ClinicBundle()
顺利找到正确的文件。我在网上找到的每条建议都已经完成并正确设置。一切都已就绪,但 "ClassNotFoundException" 一直在运行,只是无法正常工作。我也试过 clear:cache
但即使那样也会弹出同样的错误。我检查了一切,一切都到位了。路由文件、路径、作曲家自动加载。应用内核...
最后,我听从了来自论坛的一些错误建议和 运行 一些 dump-autoload
命令,其中 "generated autoload files" 和之后的一切都更糟。现在,我遇到了很多行的 long long 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"?谢谢!
只是没有type: annotation
clinic:
prefix: /some-prefix
resource: '@ClinicBundle/Resources/config/routing.yml'