SonataDoctrineORMAdminExtension.php
Posted
技术标签:
【中文标题】SonataDoctrineORMAdminExtension.php【英文标题】: 【发布时间】:2016-04-27 10:47:32 【问题描述】:我正在尝试在我的 symfony 项目中安装 sonataAdminBundle,这是我的 composer.json 文件
我正在关注https://sonata-project.org/bundles/admin/2-3/doc/getting_started/installation.html
"sonata-project/admin-bundle": "~2.0",
"sonata-project/doctrine-orm-admin-bundle": "2.2.x-dev"
我把它放在我的 appkernel 文件中
new Sonata\CoreBundle\SonataCoreBundle(),
new Sonata\BlockBundle\SonataBlockBundle(),
new Knp\Bundle\MenuBundle\KnpMenuBundle(),
new Sonata\AdminBundle\SonataAdminBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
在我的 config.yml 文件中
sonata_block:
default_contexts: [cms]
blocks:
sonata.admin.block.admin_list:
contexts: [admin]
我有这个问题
第 29 行中的 ClassNotFoundException: 试图从命名空间加载类“AbstractSonataAdminExtension” “奏鸣曲\AdminBundle\DependencyInjection”。你忘了一个“使用” 另一个命名空间的声明?
【问题讨论】:
【参考方案1】:这是 Composer 的问题 - Composer 生成的一组依赖项导致了这个错误。 截至本文发布时,Symfony 的长期支持版本为 2.8.3。下面是一组命令命令,这些命令对我有用,可以让这个版本的 Symfony 与 Sonata Admin 一起运行:
安装 Symfony:
$ symfony new my_project_name lts
将 Sensio Generator 捆绑包降级到 2.3 版:
$ composer require sensio/generator-bundle "2.3.*"
安装 Sonata Admin 包及其依赖项:
$ composer require sonata-project/admin-bundle "2.3.*"
$ composer require sonata-project/doctrine-orm-admin-bundle "2.3.*"
$ composer require sonata-project/jquery-bundle
对于 jquery-bundle,您可能会看到错误:The child node "default_contexts" at path "sonata_block" must be configured.
如果看到,请转到下一步。完成下一步后,再次尝试安装 jquery-bundle。
按照 Sonata 管理员安装文档 here 中所述执行其余步骤:在 app/AppKernel.php
中注册已安装的捆绑包,更改 app/config/config.yml
和 app/config/routing.yml
,清除缓存并安装资产。
之后,您应该可以运行该应用了。
【讨论】:
以上是关于SonataDoctrineORMAdminExtension.php的主要内容,如果未能解决你的问题,请参考以下文章