Sonata Block Bundle 找不到我的新 class
Sonata Block Bundle is having trouble finding my new class
我正在尝试使用 Sonata Block Bundle 创建一个新的块服务。它在 Symfony 3.3 之上 运行。
我已将现有 TextBlockService.php
文件克隆到名为 CenteredOverlineBlockService.php
的新文件中。这两个文件都位于 src/AppBundle/Resources/config/
目录中。
我已将以下文本添加到我的 blocks.yml
文件中:
vgms.block.centeredoverline:
class: AppBundle\Block\CenteredOverlineBlockService
arguments:
- "Centered Overline"
- "@templating"
- "@sonata.media.manager.media"
- "@sonata.admin.pool"
tags:
- { name: sonata.block }
... 我在 sonata_block.yml
中添加了以下参考:
vgms.block.centeredoverline:
...我现在收到以下错误:
Attempted to load class "CenteredOverlineBlockService" from namespace
"AppBundle\Block". Did you forget a "use" statement for another
namespace?
所以我的问题是:我在这里缺少哪一步?
应用程序毫无怨言地加载了以前存在的 TextBlockService。似乎只是这项新服务造成了问题。
===
编辑 #1:这是涉及的 class 的顶部:
namespace AppBundle\Block;
use ...
class CenteredOverlineBlockService extends \Sonata\BlockBundle\Block\Service\TextBlockService
{
...
就其价值而言,我的 "fix" 是从 不同的 捆绑包中克隆服务,然后改用 class。
这并没有真正回答我提出的 "why" 问题,但也许它会对某人有所帮助。
我正在尝试使用 Sonata Block Bundle 创建一个新的块服务。它在 Symfony 3.3 之上 运行。
我已将现有 TextBlockService.php
文件克隆到名为 CenteredOverlineBlockService.php
的新文件中。这两个文件都位于 src/AppBundle/Resources/config/
目录中。
我已将以下文本添加到我的 blocks.yml
文件中:
vgms.block.centeredoverline:
class: AppBundle\Block\CenteredOverlineBlockService
arguments:
- "Centered Overline"
- "@templating"
- "@sonata.media.manager.media"
- "@sonata.admin.pool"
tags:
- { name: sonata.block }
... 我在 sonata_block.yml
中添加了以下参考:
vgms.block.centeredoverline:
...我现在收到以下错误:
Attempted to load class "CenteredOverlineBlockService" from namespace "AppBundle\Block". Did you forget a "use" statement for another namespace?
所以我的问题是:我在这里缺少哪一步?
应用程序毫无怨言地加载了以前存在的 TextBlockService。似乎只是这项新服务造成了问题。
===
编辑 #1:这是涉及的 class 的顶部:
namespace AppBundle\Block;
use ...
class CenteredOverlineBlockService extends \Sonata\BlockBundle\Block\Service\TextBlockService
{
...
就其价值而言,我的 "fix" 是从 不同的 捆绑包中克隆服务,然后改用 class。
这并没有真正回答我提出的 "why" 问题,但也许它会对某人有所帮助。