Recyclage de fonctions, ayez le bon réflexe !

Et si les fonctions d’un langage de programmation étaient assimilables à des composants électroniques : limités, coûteux, fragiles, spécifiques… Imaginons la scène dans un magasin de « fonctions PHP »…

Client – Bonjour, je voudrais vous acheter des fonctions…
Vendeur – Oui, je vous écoute.
C – Alors voilà déjà je voudrais… heu… 6 echo
V – On les vend par 10, ça vous va ? 35 centimes les 10.
C – Oui, allez-y ça sert toujours. Ensuite, j’aurais besoin d’un substr.
V – C’est pour faire passer de l’ISO ou de l’UTF ? si c’est pour de l’UTF il vous faut un mb_substr.
C – Non non, c’est bien de l’ISO, c’est pour chez moi.
V – S’il faut faire la conversion, un simple utf8_encode suffit.
C – Oui mais je ne suis pas en bi-octet chez moi, je suis en mono-octet.
V – D’accord, en effet c’est inutile dans ce cas.
C – Ensuite, j’aurais besoin d’un stripos.
V – Ah je crois que je n’en ai plus, par contre vous pouvez faire la même chose avec un strpos et deux strtolower par exemple…
C – Bah mettez-moi déjà un strpos, je crois qu’il me reste des strtoupper à la maison, ça doit marcher aussi non ?
V – Tout à fait, vous avez raison.
C – Très bien, ensuite il me faudrait un split
V – Désolé, le split est une référence qui n’est plus fabriquée par le constructeur, elle est remplacée par le explode, moins cher si vous ne vous servez pas des expressions rationnelles, sinon il vous faudra un preg_split, plus cher.
C – Mettez m’en un de chaque, je vais faire des tests avec. Ensuite, il me faudrait des mysql_query, disons, 5…
V – Je vous mets des addslashes pour protéger les entrées ?
C – Ah oui, mettez-en une dizaine, ça devrait suffire.
V – J’ai aussi des intval si ça vous intéresse…
C – Non ça ira, je ne suis pas encore initié à l’électronique numérique.
V – Pas de souci, autre chose ?
C – Oui, vous avez des boucles ?
V – Oui, en rayon vous trouverez des pochettes de 5 while, 5 for, et 5 foreach.
C – Très bien, je vais prendre quelques if aussi… D’ailleurs vous savez avec quoi je pourrais tester mes if ?
V – En général c’est avec des then, et si vous voulez inverser vous prenez des else
C – Ok, je verrai ça un peu plus tard c’est pas pressé. J’aimerais aussi isoler une partie de mon circuit car il y a des gros tableaux qui vont passer dedans, je peux mettre quoi ?
V – Le plus simple c’est de mettre un try-catch, mais il ne faut pas oublier de relier le catch sinon votre circuit ne va jamais disjoncter correctement et il va y avoir des fuites d’exception, et ça peut être dangereux.
C – D’accord, je vais faire ça, merci du conseil…
V – Autre chose ?
C – Non ce sera tout je crois. Enfin si, vous avez des fers à coder ? Je crois que le mien ne chauffe plus assez…
V – Oui, dans ce rayon-ci, vous avez les fers à coder, les stations de codage ici, et vous avez la soudure à base de point-virgule ici, et bien sûr les accolades ici, ouvrantes et fermantes, 100 de chaque.
C – Très bien, c’est tout ce qu’il me fallait. Je vous remercie !
V – C’est moi qui vous remercie, bonne journée !

Alors, on y croirait, non ?