mardi 13 août 2013

Bon anniversaire Dotclear !

Dotclear et moi, ça a commencé par Olivier Meunier.

Même si je ne l’ai jamais rencontré IRL, j’aime beaucoup ce qu’il laisse transparaître de lui sur Internet, à commencer par son blog et son code.

Tout comme moi, il a cet amour du travail bien fait, de cette recherche permanente (et vaine mais tellement jouissive) de la perfection dans tout ce qu’il fait.

Et tout comme moi, parfois, il refuse spontanément et violemment la merde sous toutes ses formes et n’hésite pas à le clamer haut et fort.

Bref, je me suis intéressé à Dotclear à cause du caractère de cochon d’Olivier, car je me suis demandé s’il avait vraiment les moyens de son ambition.

Et accessoirement, j’avais également envie de faire une blague à quelqu’un qui avait un blog propulsé par Dotclear.

Lire la suite

mardi 30 juillet 2013

À propos des fonctions anonymes

Les fonctions anonymes apparues avec la version 5.3 de PHP sont des outils très puissants qui permettent de faire des choses complexes très simplement.

Pour autant, leur implémentation dans PHP 5.3 avait un inconvénient majeur.

En effet, une fonction anonyme est pour le Zend Engine une instance de la classe \closure.

En conséquence, un appel à $this dans une fonction anonyme revenait avec PHP 5.3 à faire appel à l’instance de la classe \closure correspondant à la fonction, et cela même si cette dernière était déclarée dans une méthode de classe.

Lire la suite

vendredi 28 juin 2013

Impressive!

PHP timeline

Il y a quelques jours, la version 5.5 de PHP a été publiée et il y a beaucoup à raconter à son propos.

Elle apporte énormément de nouveautés destinées à faciliter la mise en œuvre du langage, améliorer ses performances et mettre à la disposition des développeurs des outils plus simples et plus fiables leur permettant d’améliorer la sécurité des sites qu’ils développent.

Et évidemment, il y a un prix à payer pour tout cela, mais il est minime.

Lire la suite

jeudi 13 juin 2013

STDIN et délai d'attente

Il y a quelques jours, j’ai eu besoin de maintenir une connexion vers une base de données MySQL alors que le script PHP en ligne de commande en cours d’exécution attendait une réponse de la part de l’utilisateur sur l’entrée standard.

En effet, une connexion vers une base de données est toujours fatalement coupée par le client ou le serveur lorsqu’elle n’est pas utilisée durant un certain temps.

Or, j’avais absolument besoin que ce ne soit pas le cas, car mon script devait mettre à jour des données dans la base et il devait donc conserver un verrou sur les tables concernées tant qu’il n’avait pas finaliser cette mise à jour.

Et lors d’une déconnexion, les verrous posés sont perdus.

J’avais donc absolument besoin de maintenir la connexion entre mon script et la base de données tout au long du processus de mise à jour pour que mon script fonctionne correctement.

Cependant, afin de pouvoir effectuer cette mise à jour, j’avais besoin que l’utilisateur exécute un script sur un autre serveur pour récupérer des informations en fonction de données préalablement extraites de ma base de données.

Et comme je n’avais aucune idée du temps nécessaire à l’utilisateur pour récupérer ces informations sur cet autre serveur, mon script était donc obligé d’attendre qu’il lui indique qu’il avait effectivement récupéré les informations.

En fonction de la configuration du serveur MySQL, la connexion entre mon script et la base de données était donc susceptible d’être perdue si l’utilisateur tardait trop à répondre.

Lire la suite

vendredi 5 avril 2013

Mettons fin aux rumeurs, voici les faits #2

Régulièrement, quelqu'un publie un article pour dire à la face du monde à quel point PHP est un langage de merde.

D'ailleurs, je ne m'en prive pas moi-même.

Mais tout aussi régulièrement, les auteurs de ces articles racontent des conneries.

La plupart du temps, je n'y réagis pas, car ça serait m'engager dans un combat quotidien et je n'en ai ni le temps ni l'envie, car j'ai mieux à faire.

Cependant, en lisant ce billet, je me suis dit que je devais préciser certaines choses, car il se trouve que je maîtrise très bien le sujet qu'il évoque.

Lire la suite

- page 3 de 20 -