FOSUserBundle で SonataUserBundle を使用しています。AppKernel.php では、次のようになります。
new FOS\UserBundle\FOSUserBundle(),
new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
SonataUserBundle の一部のコントローラーは既にオーバーライドされています。
ここで、FOSUserBundle ChangePasswordController をオーバーライドします。だから私は作った: src/Application/FOS/UserBundle/Controller/ChangePasswordController.php src/Application/FOS/UserBundle/ApplicationFOSUserBundle.php
<?php
namespace Application\FOS\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class ApplicationFOSUserBundle extends Bundle
{
/**
* {@inheritdoc}
*/
public function getParent()
{
return 'FOSUserBundle';
}
}
変更された AppKernel.php と同様に
new FOS\UserBundle\FOSUserBundle(),
new Application\FOS\UserBundle\FOSUserBundle(),
new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
問題は... 正しく動作していないことです。
致命的なエラー: メッセージ「バンドル "FOSUserBundle" は、2 つのバンドル "SonataUserBundle" および "ApplicationFOSUserBundle" によって直接拡張されています。」/home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache の 2364 行目 ( ! ) LogicException: バンドル "FOSUserBundle" は、2 つのバンドル "SonataUserBundle" と "ApplicationFOSUserBundle" によって直接拡張されています。/home/piotr.gawlowski/dev_dash_devel/dev-dash/app/bootstrap.php.cache の 2364 行目