56 votes

Performances de l'API Reflection de PHP 5

J'envisage actuellement d'utiliser des classes Reflection (ReflectionClass et ReflectionMethod principalement) dans mon propre cadre Web MVC, car j'ai besoin d'instancier automatiquement des classes de contrôleurs et d'invoquer leurs méthodes sans aucune configuration requise (approche de type "convention over configuration").

Je suis préoccupé par les performances, même si je pense que les requêtes de la base de données sont susceptibles d'être des goulots d'étranglement plus importants que le code PHP lui-même.

Je me demande donc si quelqu'un a une bonne ou une mauvaise expérience de PHP 5 Reflection du point de vue des performances.

Par ailleurs, je serais curieux de savoir si l'un des frameworks PHP les plus populaires (CI, Cake, Symfony, etc.) utilise réellement Reflection.

2voto

Lu4 Points 2774

Dans mon cas, la réflexion est seulement 230% plus lente que l'appel direct d'une méthode de classe, ce qui est aussi rapide que la fonction call_user_func.

2voto

grantwparks Points 716

Parfois, l'utilisation de quelque chose comme call_user_func_array() peut vous permettre d'obtenir ce dont vous avez besoin. Je ne sais pas si les performances sont différentes.

1voto

Dre Points 11

CodeIgniter utilise défénitivement Reflections. Et je parie que les autres le font aussi. Regardez la classe Controller dans le dossier system/controller de l'installation de CodeIgniter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X