mageekblog Le blog personnel de Frédéric Hardy. Au menu, PHP, agilité, FreeBSD, cuisine et photographies. Peut être...

Aller au contenu | Aller au menu | Aller à la recherche

CV | Twitter | Linkedin Projets

L'avenir de PHP vu par Frédéric Hardy

Après le teasing, voici les faits, avec mes réponses à ma propre interview, qui clôtureront définitivement ce cycle sur la vision de l'avenir de PHP qu'ont ses utilisateurs.

Cela fait maintenant presque 34 ans que Je me connais.

Je suis extrêmement proche de moi-même, je ne me cache rien et je me dis absolument tout.

Il était donc normal que je me demande mon avis au sujet de l'avenir de PHP, afin de conclure en beauté cette série, d'autant que je suis très bien placé pour savoir que je ne ferais aucune concession.

Lire la suite...

PHP manque de plus en plus de cohérence

PHP est un langage connu pour avoir un certain nombre d'incohérences, à la fois au niveau de sa syntaxe et de son fonctionnement.

Au niveau syntaxique, il y a par exemple le cas des fonctions permettant la manipulation des chaînes de caractères, qui ne suivent pas une convention de nommage rigoureuse.

C'est la raison pour laquelle il existe, par exemple, une fonction strpos() et une fonction str_pad().

L'ordre des arguments peut également être variable d'une fonction à une autre, alors qu'elles sont toutes les deux du même domaine fonctionnel.

Ainsi, array_search() et strpos() permettent toutes deux de localiser un élément parmi plusieurs, mais l'ordre de leurs deux premiers arguments est inversé.

Au niveau de son fonctionnement, les incohérences sont certes moins nombreuses, mais à mon sens plus vicieuses.

Si celle concernant l'impossibilité de spécifier autre chose qu'une classe ou un tableau comme type d'argument pour une fonction ou une méthode n'est pas trop méchante, celle ne permettant pas de définir une méthode de classe abstraite imposée par une interface l'est beaucoup plus.

Autre incohérence pénible, il n'est pas possible d'appeler directement une fonction anonyme ou une fermeture si cette dernière est une propriété d'un objet.

Évidement, cette liste d'incohérence est loin d'être exhaustive, d'autant qu'elle s’enrichit régulièrement grâce aux nouvelles fonctionnalités supportées par le langage au fur et à mesure des versions.

Ainsi, Wilfried Ceron, dont j'ai fais l'interview récemment, m'a permis d'en découvrir une nouvelle, via l'utilisation de la méthode magique __invoke(), disponible depuis PHP 5.3.0.

Lire la suite...

Mort de PHP6 + 1[34]0 jours

Pour cause de vacances, je n'ai pas pu assuré le suivi du développement de la prochaine version de PHP sur les vingts derniers jours.

Je rattrape donc maintenant le temps perdu, et heureusement pour moi, et malheureusement pour le langage, je n'ai pas loupé énormément de choses.

Ce qui suit concerne donc ce qu'il s'est passé jusqu'au 30 juillet 2010 au niveau du trunk de PHP.

Lire la suite...

Les fermetures, c'est trop... fermé !

J'utilise actuellement intensivement les fermetures, plus connues sous leur dénomination anglaise closure, dans mes développements PHP.

Elles sont en effet extrêmement bien adapté à mon besoin, mais je viens de découvrir qu'elles ont un inconvénient de taille.

Lire la suite...

On ferme !

Sous ce titre idiot ne se cache pas l'annonce de la fermeture de ce blog, mais bien un cas concret d'utilisation des fermetures de PHP 5.3.

Je me suis longtemps demandé ce que je pourrais bien en faire, et il semble que je ne sois pas le seul, au vu des commentaires sur le blog de Pascal et de la discussion que j'avais eu avec Damien Seguy à ce sujet lors d'un apéro PHP à Lille.

J'avais bien une vague idée du potentiel du concept via mon expérience de développeur javascript, mais je n'en voyais aucun cas d'utilisation intéressant en PHP, jusqu'à maintenant.

Lire la suite...