Astuce #3 - Renommer un Module symfony

This tip is also available in English.      

Renommer un module symfony est une peu plus complexe que de renommer une application.

Voici les étapes à suivre pour renommer un module symfony post d'une application frontend en article:

  • La permière étape est assez évidente et consiste à renommer le répertoire apps/frontend/modules/post/ en apps/frontend/modules/article/ et de renommer la classe postActions en articleActions.

  • La deuxième étape consiste à renommer le fichier de tests fonctionnels pour ce module test/functional/frontend/postActionsTest.php en test/functional/frontend/articleActionsTest.php.

  • Si vous vérifiez le module exécuté dans vos tests fonctionnels, vous devez changer le nom du module pour chaque appel à isRequestParameter:

    $browser->
      // ...
      isRequestParameter('module', 'article')-> // <<-- changez post en article ici
      // ...
     
  • Si vous n'avez des routes nommées pour toutes les actions du modules post, vous devez changer tous les appels à link_to(), url_for() form_tag() et ->redirect() pour prendre en compte le changement de nom:

    <?php echo link_to('post/index') // <<-- changez post en article ?>
     
    <?php echo form_tag('post/update') ?>
     
    $this->redirect('post/edit');
     
  • Enfin, comme pour chaque refactoring de ce style, pensez à lancer vos tests fonctionnels pour vérifier que vous n'avez rien cassé :

    $ ./symfony test-functional
    

    Et voilà ! Votre module post est maintenant connu sous le nom de article.

Les commentaires sur cette astuce sont fermés.
© 2007 Fabien Potencier  |  Powered by  Symfony Framework  |  Valid XHTML 1.0 Transitional