mars
2007
Et si PHP était audité demain afin d’en évaluer le niveau de qualité ? Il n’est pas certain que le bilan serait satisfaisant, tant la nomenclature de nommage des fonctions, voir carrément les prototypes d’appels, sont déroutants. Rapide état des lieux d’un capharnaüm.
String haystack et string needle ?
La fonction strstr() trouve la première occurrence d’une chaîne dans une autre. Son prototype d’appel est : string strstr ( string haystack, string needle )
Par contre, la fonction str_replace() qui permet de remplacer toutes les occurrences dans une chaîne utilise le prototype d’appel suivant : mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
Pour des raisons de cohérence, on se demande pourquoi le premier argument n’est pas la chaîne sur laquelle on désire appliquer les remplacements, le second étant la chaîne dont on recherche l’occurrence, le troisième la chaîne de remplacement, etc. Bref, on le voit ici, la chaîne correspondant à l’occurrence cherchée se trouve alternativement en dernier et en premier argument.
Mon avis personnel : j’approuve complètement. Niveau mémorisation, on y arrive, mais on y met le temps, PHP ne simplifiant clairement pas la tâche.
Quant à la certification Zend, on peut penser qu’elle joue de temps en temps un peu dans ce jeu, avec des questions du genre je t’inverse l’ordre des arguments, à toi de le remarquer…
Peut-être que tout ceci est dû à l’âge du langage (1997 pour PHP3) et au fait que de nombreux développeurs ont rejoint le projet par la suite. L’histoire est ici pour les interréssés
Quoiqu’il en soit, c’est comme ca ^^, je vous laisse avec la suite de l’article
Une autre référence en la matière, anglophone
Commentaires récents
Archives
- novembre 2010
- août 2010
- juillet 2010
- juin 2010
- mai 2010
- avril 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007