2

そのため、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 ルートである登録フォームに移動すると、サイコロが表示されず、すべて正常に動作します。私のバンドルが子として表示されず、何も上書きされず、私は何年もの間それを機能させようとしてきたので、ここで私の質問です。

私は何か間違ったことをしましたか?

4

1 に答える 1