lundi 1 avril 2013

PHP 5.2 contient une bombe logique !

PHP 5.2

Le 6 janvier 2011, les développeurs de PHP publiaient la toute dernière version de PHP de la branche 5.2, connut sous la dénomination 5.2.17.

Et depuis, ce sont pas moins de 35 versions qui se sont succédé, réparties entre les branches 5.3 et 5.4.

Mais pour autant, la version 5.2 du langage est installée sur 45 % des serveurs utilisant PHP d’après les dernières statistiques compilées par Pascal Martin.

PHP 5.3 est lui mis en œuvre dans 40 % des cas et PHP 5.4, dernière version en date, n’est disponible que sur moins de 2 % des serveurs concernés.

Le fait que la version 5.2 est en fin de vie depuis décembre 2010 ne semble donc pas suffisant pour décider les utilisateurs du langage à migrer vers les dernières versions.

Pourtant, ces dernières apportent un gain significatif en terme de performance et de productivité ainsi que des fonctionnalités très intéressantes.

Sans entrer dans les détails, PHP 5.3 dispose en effet entre autres choses du support des espaces de nommage, des fonctions anonymes et des fermetures lexicales sur lesquelles est basé par exemple atoum, un framework de tests unitaires développé spécifiquement pour cette version.

PHP 5.4 a quant à lui notablement amélioré le modèle objet du langage grâce au support des traits et contient énormément de sucre syntaxique permettant d’améliorer la productivité des développeurs.

Mais malgré tout cela, ces versions ne sont pas parvenues à détrôner PHP 5.2 qui reste donc aujourd’hui la version la plus utilisée dans le monde.

Or, cela devient un véritable problème pour le développement du langage.

Lire la suite

jeudi 21 mars 2013

Chronique d'un audit technique #6

Voici enfin la conclusion de ce cycle relatif à un audit technique que j’ai effectué à la suite d’une brutale dégradation des performances après une montée en version des sites de e-commerce et d’administration de l’un de nos principaux clients.

J’ai expliqué dans mon précédent billet sur le sujet la cause technique de cette baisse des performances et j’avais conclu en annonçant mon autocritique, que voici donc maintenant.

Pour ceux qui n’auraient pas suivi la totalité du cycle ou qui en ont perdu le fil à cause du temps que j’ai mis à publier cette conclusion, j’ai résolu un problème qui mobilisait l’ensemble de mon équipe depuis trois jours et qui surtout portait préjudice à notre client à l’aide d’une seule et unique instruction.

Et si cela m’a pris autant de temps, c’est parce que j’ai commis plusieurs erreurs au cours de cet audit.

Lire la suite

mercredi 13 mars 2013

À propos de l'évolution de PHP

Ce billet a commencé sa vie en tant que commentaire de ce billet de Éric concernant l’évolution de PHP, mais comme je me suis rendu compte lors de sa rédaction que j’avais en fait pas mal d’informations à fournir à ce propos, j’ai décidé de le publier sur mon propre blog dans un format plus pratique pour le lecteur.

En résumé, Éric constate comme je l’avais déjà fait par le passé que PHP est en fait le résultat d’une bataille constante entre deux camps.

En caricaturant quelque peu, il est possible de dire qu’il y a d’un côté ceux que j’appelle les traditionalistes et qui sont pour la plupart des développeurs historiques du langage qui ne participent que très peu techniquement à son développement.

Et de l’autre, il y a ceux que je nomme les progressistes et qui sont des développeurs qui participent au projet depuis moins longtemps, mais qui sont par contre très actifs techniquement.

Lire la suite

jeudi 7 mars 2013

Une petite énigme ?

Ça vous dis d'essayer de résoudre une énigme en PHP sur laquelle je me casse les dents depuis deux jours maintenant ?

Il s’agit d’une énigme complexe et à tiroir qui aurait pu être posée par une sorcière vaudou habitant au fin fond du bayou, une de ces énigmes qui semblent simples, mais qui sont pourtant incroyablement complexes à résoudre, du moins tant que l’on n’a pas trouvé la pourtant si incroyablement évidente solution. 

Lire la suite

vendredi 22 février 2013

À propos de l'interface \arrayAccess et des fonctions array_*

Ce matin, j’ai eu une discussion intéressante à propos du fait que PHP ne permet pas d’utiliser un objet disposant de l’interface \arrayAccess comme argument des fonctions de la famille array_*.

Certains voient dans cette limitation un bug alors que je trouve ce comportement absolument normal, car ce n’est tout simplement pas le rôle de cette interface.

Lire la suite

- page 4 de 20 -