La réflexion en PHP5 ? C'est quoi en fait ?

La réflexion en PHP5 ? C'est quoi en fait ? - PHP - Programmation

Marsh Posté le 13-01-2008 à 17:42:25    

Salut :)
 
Je suis en train de faire une couche d'abstraction en PHP5.
J'ai donc une liste de classe implémentant toutes une interface pausant toutes les méthodes indispensables.
 
Mais par dessus je voudrais mettre une autre couche d'abstraction dans l'hypothèse ou un jour j'aurais peut etre des traitements a faire avant de balancer la requete.
et je voudrais avoir une instance de "DbAccessor" qui etende automatiquement soit un objet "MySQL", soit un objet "Oracle" en fonction de la base de donnée choisie.
 
Et on m'a dit que je pouvais faire ca par de la réflexion. C'est un concept qui m'échappe un peu, mais je sais que c'est un outils très puissant.
Pourrais t-on m'expliquer concretement comment ca fonctionne ? Car tous les sites que j'ai lu a propos de ca ne traitent qu'au travers d'exemples qui finalement ne me permettent pas de comprendre comment ca fonctione :/
 
Donc voila, et je suis sur que ca pourrait en intéresser plus d'un :)

Message cité 1 fois
Message édité par the_bigboo le 13-01-2008 à 17:42:37
Reply

Marsh Posté le 13-01-2008 à 17:42:25   

Reply

Marsh Posté le 13-01-2008 à 20:17:14    

:bounce:

Reply

Marsh Posté le 13-01-2008 à 20:25:46    

the_bigboo a écrit :

Salut :)
 
Je suis en train de faire une couche d'abstraction en PHP5.
J'ai donc une liste de classe implémentant toutes une interface pausant toutes les méthodes indispensables.


Pourquoi ne pas utiliser un ORM PHP existant?

the_bigboo a écrit :

Mais par dessus je voudrais mettre une autre couche d'abstraction dans l'hypothèse ou un jour j'aurais peut etre des traitements a faire avant de balancer la requete.
et je voudrais avoir une instance de "DbAccessor" qui etende automatiquement soit un objet "MySQL", soit un objet "Oracle" en fonction de la base de donnée choisie.


Non bordel, YAGNI [:pingouino]

the_bigboo a écrit :

Et on m'a dit que je pouvais faire ca par de la réflexion. C'est un concept qui m'échappe un peu, mais je sais que c'est un outils très puissant.
Pourrais t-on m'expliquer concretement comment ca fonctionne ? Car tous les sites que j'ai lu a propos de ca ne traitent qu'au travers d'exemples qui finalement ne me permettent pas de comprendre comment ca fonctione :/


http://en.wikipedia.org/wiki/Refle [...] science%29
http://c2.com/cgi/wiki?OnReflection


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 13-01-2008 à 21:00:11    

La reflexion, c'est quand tu deviens capable de lire tes structures de données, notamment tes classes.
Tu connais le nombre d'attributs, de méthodes, leurs noms, leurs type d'accès (private/protected/public)...etc.
 
C'est avec Reflexion que l'on peut par exemple créer un documenteur de code.


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 13-01-2008 à 21:06:31    

CyberDenix a écrit :

La reflexion, c'est quand tu deviens capable de lire tes structures de données, notamment tes classes.
Tu connais le nombre d'attributs, de méthodes, leurs noms, leurs type d'accès (private/protected/public)...etc.


Heuuu non, la réflexion c'est justement que tu les connais pas, que tu les demande, et que le système est capable de te les donner dynamiquement [:pingouino]


Message édité par masklinn le 13-01-2008 à 21:06:55

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed