symfonyからサービスcmf_block.reference_adminを登録解除したいと思います。 私はいくつかの研究の結果、CompilerPassを使って実行する必要があることを発見しました。ここで私はそれを削除する方法です:symfony:サービスを削除する(cmf_block.reference_admin)
namespace PortalBundle\DependencyInjection\Compiler;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class UnregisterThirdPartyServicesPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
if($container->getDefinition('cmf_block.reference_admin'))
$container->removeDefinition('cmf_block.reference_admin');
}
}
を、これが行われた後、私はエラーを取得する:
Uncaught exception 'Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException' with message 'You have requested a non-existent service "cmf_block.reference_admin".' in xxx\cmf-sandbox-master\app\bootstrap.php.cache:2198 Stack trace: #0 xxx\cmf-sandbox-master\app\cache\dev\classes.php(11818): Symfony\Component\DependencyInjection\Container->get('cmf_block.refer...') #1 xxx\cmf-sandbox-master\vendor\sonata-project\admin-bundle\Route\RoutesCacheWarmUp.php(47): Sonata\AdminBundle\Admin\Pool->getInstance('cmf_block.refer...') #2 xxx\cmf-sandbox-master\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate.php(48): Sonata\AdminBundle\Route\RoutesCacheWarmUp->warmUp('xxx') #3 xxx\cmf-sandbox-master\app\bootstrap.php.cache(2711): Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate->warmUp('C:\ in xxx\cmf-sandbox-master\app\bootstrap.php.cache on line 2198
たぶん、あなたの誰かが、リファレンスブロックを除去することができるか、私を助けるか知っていることができます私のSymfonyのCMFブロックバンドルの機能
ありがとうございます!一例として
エラーがキャッシュファイルにあります。すべてのキャッシュをクリアしましたか? –
サービスが存在するかどうかを確認してから削除してください。 – Matteo
@FrançoisDupontはいキャッシュをクリアしました。違いはありません。 – Tim