octobre 2011 (8)

lundi 31 octobre 2011

include et exception

Parfois, il peut être utile d'obtenir une exception au lieu d'une erreur de type WARNING lorsque l'on tente en PHP d'utiliser un fichier inexistant à l'aide des instructions include ou include_once.

Pour y parvenir, le développeur a souvent recours à l'une des deux solutions suivantes :

  1. Soit il teste l'existence du fichier avant de l'inclure et lance une exception si le fichier demandé n'existe pas ;
  2. Soit il défini un gestionnaire d'erreurs qui transforme toutes les erreurs en exception ;

J'avoue ne pas être fan de la première, qui a l'inconvénient de ne pas gérer le cas ou le fichier est supprimé entre le moment ou son existence est vérifié et le moment ou il est effectivement inclus.

Certes, dans la grande majorité des cas, cette situation de compétition n'arrivera jamais, mais la probabilité existe pourtant bel et bien et devrait donc être gérée correctement.

Je ne suis pas non plus un adepte de la seconde car je ne désire pas forcément que toutes les erreurs générées par mon code soit transformées en exception.

Et en l'occurrence, je ne veux générer une exception uniquement que lorsque le fichier devant être inclus est introuvable.

J'ai donc cherché une alternative à ces deux solutions prenant en compte à la fois la situation de compétition et le fait que je ne veux une exception que lorsque le fichier demandé n'existe pas. 

Lire la suite

vendredi 28 octobre 2011

PHP Tour 2011 - Teasing 1

teasing1.jpg

mardi 25 octobre 2011

interfaces == interopérabilité ?

Depuis maintenant pas mal de temps, Lukas Kahwe Smith milite, notamment via twitter, pour que PHP dispose d'un ensemble d'interfaces concernant les besoins de base que l'on retrouve dans la majorité des projets utilisant le langage afin de faciliter l'interopérabilité.

Il y a quelques jours, il est passé à la vitesse supérieure en publiant sur son blog un billet sur le sujet qui a suscité un certain nombre de réactions au sein de la communauté des développeurs PHP.

Il y explique que le fait de disposer de telles interfaces permettrait d'intégrer plus facilement au sein du project X les composants qui lui manque en les empruntant au projet Y.

Lire la suite

jeudi 20 octobre 2011

PHP 5.4 ß 2

trunkPHP20111020.png.png

Aujourd'hui 20 octobre 2011, soit un peu plus d'un mois après la version ß, la version ß 2 de PHP 5.4 a été rendue disponible par David Soria Parra et Stanislav Malyshev, les Release Master de cette version du langage.

Il s'agit très clairement d'une version de consolidation car elle n'apporte que des corrections de bugs et des améliorations cosmétiques, ainsi qu'une optimisation au niveau des performances de l'opérateur ternaire.

PHP 5.4 ß 2 ne contient donc aucune nouvelle fonctionnalité et nous sommes donc maintenant très clairement entré dans le processus de consolidation qui mènera à la sortie de la version définitive, prévue pour avant la fin de l'année.

Lire la suite

mercredi 12 octobre 2011

Docteur Levenshtein, je présume ?

Parfois, la logique pure et dure des ordinateurs montre ses limites.

Ne vous-est-il jamais arriver de pester lorsqu'une erreur de frappe lors de la saisie d'un mot-clef dans un moteur de recherche a fait que ce dernier n'a pas su trouver les informations demandées ?

Ne vous-est-il jamais arriver de râler car un utilitaire en ligne de commande n'a pas su corriger de lui-même la faute de frappe qui a fait que l'argument commit est devenu comit et n'a donc pas pu s'exécuter correctement ?

Nous avons tous rencontré ce genre de situation, que ce soit dans notre vie quotidienne ou notre vie professionnelle.

Et si cela n'est pas en soit un réel problème, puisqu'il suffit de corriger notre frappe pour obtenir le résultat désiré, à la longue, et surtout lorsque cela se produit de manière répétée au quotidien, cela vite devenir très gênants et surtout peut faire baisser significativement la productivité.

Heureusement, il est possible, dans une certaine mesure, de régler ce problème à l'aide de la logique floue.

Lire la suite

mardi 11 octobre 2011

atoum + QR Code = ?

qrcode.png

dimanche 9 octobre 2011

Être bon développeur, c'est surtout une question d'état d'esprit

La semaine dernière, Thomas Jaskula a publié sur son blog un billet dans lequel il explique que de son point de vue, c'est au développeur de se former, et non à l'employeur de former le développeur.

Depuis, il a publié un autre billet pour préciser sa pensée, mais j'ai tout de même voulu apporter ma contribution au débat.

J'avoue que je n'ai jamais compté sur mon employeur pour me former, et que je n'ai jamais demandé l'autorisation de mon employeur pour faire ma veille technologique durant mes heures de bureau.

Pourquoi ? Tout simplement parce que j'estime que me tenir au courant des évolutions technologiques et les tester fait parti de mon travail.

Cependant, cela ne veut pas dire que je suis d'accord avec le fait que l'employeur ne doit pas investir dans la formation de ses salariées, indépendament de leurs métiers.

Pourquoi ? Pour répondre à cette question, je préfère laisser la parole à Éric Daspet, car il y a déjà répondu de fort belle manière.

Et de toute façon, je ne pense pas qu'une volonté à se former soit forcément un indicateur pertinent pour détecter un bon programmeur.

Lire la suite

mercredi 5 octobre 2011

Rasmussisme #7

juin 30 00:55:59 <rasmus> Yup, this -S thing is going to snowball on usjuin 30 00:56:02 <rasmus> no way around itjuin 30 00:56:28 <rasmus> Just like PHP was not supposed to have user-definable variables in the beginning