そのため、Symfony でのテンプレートなどのオーバーライドやバンドルのオーバーライドについて多くのことを読みました。
私は新しい Symfony 2.3 を使用しています。Symfony の下位バージョンではこれを試していません。
Symfony でのバンドルのオーバーライドに関するチュートリアルに従いました: http://symfony.com/doc/2.3/cookbook/bundles/inheritance.html
FOSUserBundle のコントローラーのオーバーライドに関するチュートリアルに従いましたが、これは実際には同じことです: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_controllers.md
Acme/WebBundle という名前のバンドルがありました。
今、私は次のことをしました:
- Acme/UserBundle という名前の新しいバンドルを作成しました。
このバンドルに AcmeUserBundle.php ファイルを作成しました。
<?php namespace Acme\UserBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class AcmeUserBundle extends Bundle { public function getParent() { return 'FOSUserBundle'; } }
次のファイル構造を作成しました。
-src -Acme -UserBundle -Controller RegistrationController.php -Entity User.php -Resources -translations -views AcmeUserBundle.php
RegistrationController.php で、名前空間を次のように設定しました。
namespace Acme\UserBundle\Controller;
FOSUserBundle の登録コントローラの内容を mine にコピーしました。
registerAction() の先頭に追加
die("message");
デフォルトの /register ルートである登録フォームに移動すると、サイコロが表示されず、すべて正常に動作します。私のバンドルが子として表示されず、何も上書きされず、私は何年もの間それを機能させようとしてきたので、ここで私の質問です。
私は何か間違ったことをしましたか?