Méthylbro Développeur Web PHP

Keyword - fonction

Fil des billets - Fil des commentaires

samedi 19 septembre 2009

PHP : Appel dynamique de fonction ou de méthode

PHP : Appel dynamique de fonction ou de méthodeRé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...

mercredi 9 septembre 2009

PHP : instanceof ou is_a ?

PHP : instanceof ou is_a ?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...

samedi 11 juillet 2009

PHP : Type Hinting

PHP : Type HintingLa nouvelle est tombée en début de semaine. Cela fait longtemps que ce sujet fait débat au sein de la communauté PHP, voici que enfin un patch vient apparemment de faire consensus. Si c'est le cas, on devrait bientôt voir apparaître cette possibilité. Sans doutes à l'horizon de PHP 6.

http://news.php.net/php.internals/44727

Exemples

L'exemple suivant est une fonction qui n'accepte qu'exclusivement un entier (ou un null) comme valeur pour le paramètre $id. Dans le cas contraire la fonction échouera.

function find(int $id) {
}

Ce deuxième exemple montre comment on pourra forcer directement le type d'un paramètre lors de l'appel d'une fonction.

function find( (int) $id ) {
}

Voici donc une fonctionnalité que l'on attendait depuis longtemps. Surtout pour ma part qui ait toujours tendance à prendre soin de vérifier le type de mes variables, cela m'évitera à l'avenir d'avoir, en début de fonction, à tester le type de mes paramètres un part un. Un gain de ressources non négligeable car ce patch est directement écrit en C.

jeudi 9 juillet 2009

Accéder directement à un tableau retourné par une fonction

PHPJe me suis surpris récemment à vouloir accéder directement à un élément d'un tableau retourné par une fonction. Le tout en une seule instruction. C'est quelque chose qui ressemblais à ça :

echo bar()[1];

Mais bizarrement, ni l'analyse syntaxique de mon IDE, ni une petite interprétation par PHP n'ont apprécié cette instruction.

C'est bien dommage car au lieu de simplifier mon instruction à sa plus simple expression, j'ai du faire le choix entre rajouter une ligne, ou implémenter une fonction annexe. Certes cela ne change pas grand-chose en termes de consommation de ressources. Mais c'est désagréable.

$tmp = bar();
echo $tmp[1];

function foo($key, $array) {
return $array[$key];
}
echo foo(1, bar());

C'est malheureux de ne pas pouvoir profiter d'un tel raccourci. Surtout que ce comportement (ou cette absence de comportement disons) est bien connu de l'équipe de PHP : http://bugs.php.net/bug.php?id=41759

Voici une rapide traduction de la réponse apportée :

Cela a été discuté les plusieurs fois et actuellement personne n'est capable de fournir un patch acceptable. Consultez les archives de la liste de diffusion internals pour plus de renseignements.

mardi 15 avril 2008

Introduction à la POO avec PHP - Partie 2

La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l'assemblage de briques logicielles appelées objet ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre.

http://fr.wikipedia.org/wiki/Programmation_orientée_objet

Ou bien d'un simple stylo !
Comme promis (Introduction à la POO avec PHP - Partie 1) ; voici la deuxième partie de cette série de billets dédiés à la Programmation Orienté Objet avec PHP.

Lire la suite...

lundi 14 avril 2008

Introduction à la POO avec PHP

Depuis sa version 4 ; PHP intègre les concepts de Programmation Orienté Objet. Très à la mode ; cette façon de programmer vous sera très utile. Néanmoins ; elle introduit foule de nouveaux concepts à nos méthodes de développement plus classique.

Il existe beaucoup d’articles et de tutoriel concernant la POO. Mais dans la plupart des cas ; ces articles sont écrits avec des exemples en C++ ou en Java.
Et encore trop peu avec des illustrations en PHP.

Cette semaine ; à l’occasion de la sortie de la version 5 de TitaXium ; je vous propose une série de 6 articles introduisant la Programmation Orienté Objet avec des exemples en PHP.

Ainsi ; en 6 jours ; j’espère faire découvrir à ce qui ne le connaissent pas encore ; le monde des classes ; des méthodes et des objets. Et d’ici à ce week-end ; vous serez sans doutes à même d’écrire vous-même vos propres classes !

Lire la suite...