Détail du message 46450.2

Message numéro 2 dans le sujet Surcharge d'action.

  • 46450.2

    10/11/2011 11:54


    Gaël Port
    Titre : Développeur RBS Change
    Rang : Expert
    En effet, l'injection ne fonctionne pas sur une action.

    Là le plus simple sera de passer par le remplacement de classe via l'AOP.

    Pour cela il faut que la classe qui remplace étende celle qu'elle remplace (comme c'est d'ailleurs le cas pour l'injection également).

    Il faut ensuite déclarer le remplacement dans le fichier config/aop.xml de la manière suivante :
    <?xml version="1.0" encoding="utf-8"?>
    <aop>
    	<replace pointcut="<classe à remplacer>" class="<nouvelle classe>" />
    </aop>
    Et enfin finir par un compile-aop (ou caop). Commande qu'il faudra relancer à chaque fois que le code de l'une des deux classes sera modifié. À noter aussi qu'elle est lancée automatiquement lors d'un update-autoload.



    Dans la version 4.0, ces deux mécanismes seront unifiés pour simplifier les choses (déclaration unique et mécanique unique aussi).
 
1471 membres
Aucun membre connecté