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.
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
- Timestamp:
- Dec 15, 2008, 8:46:21 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
fr/drafts/ioc
v2 v3 50 50 Il 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] : 51 51 {{{ 52 // Suppos e we are in a PHPUnit test53 $CalledMock = $this->getMock('Called'); // We create a mock object from the calledobject52 // Supposons que l'on soit dans un test PHPUnit 53 $CalledMock = $this->getMock('Called'); // On crée un mock object 54 54 jClasses::bind('module~CalledItf')->toInstance($CalledMock); 55 55 Caller->methodToTest(); 56 56 }}} 57 58 == Choix == 59 60 En 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 57 63 58 64 == Manques ==