jeudi 24 juin 2010
Par Méthylbro le jeudi 24 juin 2010, 13:15
Je suis certain qu’il vous ai déjà arrivé de vouloir connaitre le nombre de paramètres qu’accepte ou qu’attend une méthode ou une fonction. En voulant améliorer une petite implémentation du pattern MVC sur l’un de mes projets en ce moment, je me suis posé sérieusement cette question.
La solution se trouve en fait dans l’API Reflection de PHP. Cette API permet de faire du reverse-engineering sur les classes, les interfaces, les fonctions, les méthodes et les extensions. En effet, cette API propose une classe abstraite ReflectionFunctionAbstract qui nous permettra d’étudier dynamiquement toute les fonctions et les méthodes de classes que nous utiliserons.
Lire la suite...
dimanche 18 octobre 2009
Par Méthylbro le dimanche 18 octobre 2009, 08:00
PHP 5.3 introduit foule de nouveaux concepts intéressants que l'on espérait jusque là. L'un d'entre eux est le Late Static Bindings, Compilation Statique Tardive en français. Il s'agit d'un outil que tous ceux qui utilisent régulièrement le moteur objet de PHP seront sans doutes apprécier.
Lire la suite...
mercredi 14 octobre 2009
Par Méthylbro le mercredi 14 octobre 2009, 08:00
Dans un billet précédant j'ai abordé les principes de base des erreurs et de leurs gestion en PHP.
Au sein de cet article j'ai explicitement affirmé que l'utilisation de l'opérateur @ était une mauvaise pratique sans pour autant développer sur l'origine de mon propos.
Aujourd'hui je vais donc tenter de vous expliquer pourquoi vous devez à tout prix éviter de vous servir de cet opérateur.
Lire la suite...
lundi 12 octobre 2009
Par Méthylbro le lundi 12 octobre 2009, 08:00
Bien souvent ignoré et incomprises des débutants et des amateurs, les erreurs en PHP sont pourtant les alliés indispensables du développeur PHP. Trop souvent on peut voir des développeurs qui ont peur des erreurs, qui passent leur temps à les éviter ou pire à les cacher au lieu de les comprendre.
Comprendre les erreurs, ce qu'elles signifient, ce qu'elles vous disent et quel sont leurs rôles : c'est essentiel.
Lire la suite...
dimanche 27 septembre 2009
Par Méthylbro le dimanche 27 septembre 2009, 08:00
Sur un point, PHP 5.3 me rend nostalgique. En effet l'arrivé de la structure de contrôle goto me rappelle l'époque du lycée, ou je passais mes cours de maths à programmer tout plein de trucs sur ma calculatrice avec ce pseudo Basic qu'est le TI-Basic.
Nous voilà donc désormais possible d'utiliser ce genre de structures dans nos scripts PHP. C'est fun et pas trop « usefull » selon moi, mais cela me donne un sujet pour un petit billet.
Lire la suite...
vendredi 25 septembre 2009
Par Méthylbro le vendredi 25 septembre 2009, 08:00
Je dois régulièrement rappeler à tous les stagiaires que l'on me colle la différence entre les instructions include et require. Comme si la documentation PHP - qu'il s'agisse de l'officielle ou non - disponible sur internet n'était pas suffisante pour expliquer cela.
Pourtant il me parait normal qu'un jour dans sa vie, un développeur web/php se pose cette question :
Quelle différence y a-t-il entre include et require ?
Lire la suite...
lundi 21 septembre 2009
Par Méthylbro le lundi 21 septembre 2009, 08:00
Aujourd'hui un des stagiaires qui travaille à mes côtés au bureau à été surpris de voir au sein d'une de mes classes une chaîne de caractère définie avec la syntaxe HEREDOC.
Cela m'a donc donné l'idée de vous parler un peu de ces deux syntaxes de définition de chaîne de caractères relativement peu employés voir même complètement méconnues des plus débutants.
Je ne vais cependant pas m'attarder aujourd'hui sur l'ensemble des généralités concernant les chaînes de caractères en PHP. Avec ses petites règles, ces petites nuances selon les versions et etc.
Lire la suite...
samedi 19 septembre 2009
Par Méthylbro le samedi 19 septembre 2009, 08:00
Récemment j'ai eu besoin pour l'un de mes scripts de créer une petite table de fonctions. C'est alors que j'ai eu l'idée de continuer ma petite série de billets dédiés aux concepts simple avec PHP en vous parlant de l'appel dynamique de fonctions ou de méthodes.
Imaginons que la fonction que vous souhaitez appeler est elle-même variable de quelque chose … imaginez que vous puissiez faire appel à une fonction dont le nom ne vous sera connu qu'a l'exécution. Comment faire ?
Lire la suite...
mardi 15 septembre 2009
Par Méthylbro le mardi 15 septembre 2009, 08:00
Lors d'un de mes derniers billets sur la comparaison d'objets avec PHP, j'ai évoqué un concept qui avec du recul m'a semblé nécessaire d'approfondir : les références.
Comme il s'avère que je suis bien partit dans une petite série de billets dédié à des concepts simple ; je pense qu'il est opportun de s'attarder sur le sujet.
Lire la suite...
dimanche 13 septembre 2009
Par Méthylbro le dimanche 13 septembre 2009, 08:00
Il y a plein de bonne pratique que je vois trop souvent être ignorées par d'autres développeurs qui m'entourent (collègues, stagiaires etc). Pour certaines d'entre elles, il s'agit de pratique que j'ai ignoré pendant trop longtemps par méconnaissance d'un l'intérêt qu'elles peuvent apporter.
J'imagine qu'il m'en reste encore énormément à découvrir d'ailleurs. L'idée ici est de factoriser un ensemble d'appels de méthode sur un objet en une seule instruction. Pouvoir faire des appels de méthodes à la chaîne.
Lire la suite...
mercredi 9 septembre 2009
Par Méthylbro le mercredi 9 septembre 2009, 08:00
Avant, en PHP4 il fallait utiliser la petite fonction is_a() pour savoir si un objet était bien d'un type x ou y. L'arrivée de PHP5 permis l'apparition d'un opérateur spécifique pour faire cela : instanceof.
A l'arrivée de ce nouvel opérateur, l'utilisation de la fonction PHP is_a() fut considérée comme obsolète. Mais, fait relativement intéressant is_a fit à nouveau son apparition dans PHP5.3 comme une fonction à part entière et cette fois-ci ; plus du tout estimée comme désuète.
Cependant dans cet imbroglio, comment savoir quelle méthode utiliser ? Comment expliquer la disparition puis la réapparition de la fonction is_a() ?
Lire la suite...
lundi 7 septembre 2009
Par Méthylbro le lundi 7 septembre 2009, 08:00
En PHP ; la comparaison d'objet est très simple, mais elle suppose une légère nuance entre le moteur objet de PHP4 et celui de PHP5.
C'est cet aspect de PHP que nous allons voir aujourd'hui.
Lire la suite...