developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Changes between Version 2 and Version 3 of fr/drafts/ioc


Ignore:
Timestamp:
Dec 15, 2008, 8:46:21 AM (12 years ago)
Author:
doubleface
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • fr/drafts/ioc

    v2 v3  
    5050Il est aussi possible de lier directement une classe ou une interface à une instance. C'est très pratique en particulier encore pour les test unitaire en utilisant ceci conjointement avec les [http://www.phpunit.de/manual/3.3/en/test-doubles.html#test-doubles.mock-objects Mock Objects] :
    5151{{{
    52 // Suppose we are in a PHPUnit test
    53 $CalledMock = $this->getMock('Called');                        // We create a mock object from the called object
     52// Supposons que l'on soit dans un test PHPUnit
     53$CalledMock = $this->getMock('Called');                        // On crée un mock object
    5454jClasses::bind('module~CalledItf')->toInstance($CalledMock);
    5555Caller->methodToTest();
    5656}}}
     57
     58== Choix ==
     59
     60En fait, cette implémentation est un conteneur de dépendances. Les autres implémentations on plutôt fait le choix de laisser à l'utilisateur de créer eux même leur conteneur de dépendances. Si on en ressent le besoin, peut-être devra-t-on aussi laisser cette possibilité et proposer un conteneur par défaut afin de garder la pour pouvoir garder l'interface actuelle ?
     61
     62
    5763
    5864== Manques ==