|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Les traits s'approchent tranquillement avec PHP 5.4, mais il s'agit encore de quelque chose très statique.
Pour ceux qui proviennent du monde de Java, vous êtes sans doute famillier avec le concept d'aspect. C'est à dire d'avoir une classe de base, et dynamiquement (pendant le run time) la spécialiser en lui implémentant des aspects. Cette notion ne semble pas encore exister en PHP, et coté sémantique, ca promet toute une panoplie de problèmes avec les ORM. Mais toujours est-il que j'ai commencé à creuser le concept, et à l'aide de la réflection, j'ai réussit à implémenter un début de solution, qui permet plusieurs choses, mais en autre de faire ceci: Code :
Sauf que j'arrive à certains problème de complexité cyclomatique au moment où je dois analyser les callee de certaines méthodes magiques pour déterminer si le scope à accès ou pas à l'attribut ou la méthode demandé. Bref, avez-vous déjà expérimenté l'implémentation des aspects en PHP ? (sans utiliser d'extentions PHP ésotériques) Ps.: Je vous donnerais bien un peu de code, mais ce sont la 90 lignes beaucoup trop honteuses pour l'instant Au cas ou les contraintes de l'implémentation seraient pertinentes, voici ce que j'ai comme tests unitaires: Code :
*2) Il s'agit simplement d'un choix d'implémentation. À noter que je n'ai pas encore rédigé mes tests pour m'assurer que l'instance $bar ne donne pas accès aux contenu privé de $foo... Je sais d'avance que j'aurais le même problème qu'en #1. |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com