Il y a maintenant plus d'un an, j'ai écrit sur ce blog, sous un titre inspiré d'un film d'Alain Chabat, un billet au sujet des archives PHAR de PHP. À l'époque, mon objectif, quelque peu ambitieux, était de faire découvrir cette fonctionnalité méconnue de PHP 5.3 malgré son fort potentiel, et ainsi […]
juillet 2011 (8)
mardi 26 juillet 2011
Mettons fin aux rumeurs, voici les faits !
mardi 26 juillet 2011. Réfléxions › PHP
Depuis la mi-juillet, certains colportent la rumeur que l'extension mysql
de PHP va être, dans un futur proche, supprimée du langage.
Or, l'extension mysql
est l'une des plus anciennes pierres angulaires de PHP, et elle est en conséquence encore aujourd'hui utilisée par un très grand nombre de sites, malgré l'existence d'alternative plus fiable et plus pratique, telles que PDO
et l'extension mysqli
.
La suppression de l'extension mysql
du langage poserait donc un gros problème à beaucoup de gens et d'entreprises, et en conséquence, la rumeur s'est répandue comme une trainée de poudre, aidée en cela par quelques sites ayant pignon sur rue, et quelques réseaux sociaux.
J'ai donc décidé de mettre les choses au clair, en me basant sur des faits vérifiables, même si un minimum d'esprit critique permet de se rendre compte que cette rumeur est, je vais le dire immédiatement et très clairement, totalement infondée.
samedi 23 juillet 2011
La révolution continue !
samedi 23 juillet 2011. PHP X
Vendredi a été un jour à marquer d'une pierre blanche dans l'histoire de PHP, car l'un des boulets du langage a été supprimés.
En effet, depuis cette date, la version en cours de développement de PHP 5.4 ne supporte plus les magic quotes
, grâce à un patch de Pierre Joye et Pierrick Charron.
Cette version sera donc la première à ne plus supporter cette fonctionnalité, et il s'agit d'un événement historique pour plusieurs raisons.
dimanche 17 juillet 2011
Résultats du vote !
dimanche 17 juillet 2011. PHP X
Hier, le vote devant permettre à la communauté des développeurs et des utilisateurs de PHP de définir les fonctionnalités qui seront retirées ou ajoutées à PHP 5.4 a été clôturé, conformément à son calendrier.
Le vote s'est dans l'ensemble bien déroulé, même si j'ai été le responsable d'une certaine agitation sur la liste de diffusion des contributeurs, en indiquant par erreur dans le billet concernant ce vote qu'il suffisait de s'inscrire sur le wiki de PHP pour pouvoir y participer.
Cela a en effet provoqué l'inscription et donc la participation au vote d'un nombre relativement important de personnes, ce qui a perturbé certains membres historiques d'internals@, d'autant que le wiki autorisait tout le monde à voter, indépendamment de son statut au sein de la communauté.
La conjugaison de ces deux facteurs a failli provoquer une remise en cause du système de vote, mais après quelques explications, les choses se sont arrangées, et le vote a pu se poursuivre sans plus de problèmes.
Et c'est donc le résultat de ce vote que je vous présente aujourd'hui.
jeudi 14 juillet 2011
PHP 5.4 alpha 2
jeudi 14 juillet 2011. PHP X
Conformément au planning prévu, la version alpha 2 de PHP 5.4 vient d'être rendue disponible, et la version spécifique à Windows est également téléchargeable. Outre le lot de corrections de bugs, le gros ajout de cette nouvelle version alpha est le serveur HTTP intégré. Au passage, sa documentation […]
Espace de noms et importations de classes
jeudi 14 juillet 2011. Réfléxions › PHP
Il y a deux ou trois semaines, j'ai découvert un comportement étrange de PHP lorsque j'utilisais l'importation d'espaces de noms au sein de atoum, mon framework de tests unitaires pour PHP 5.3, matérialisé par le message d'erreur suivant :
Fatal error: Cannot use ns\class2 as class2 because the name is already in use in /path/to/ns_ns1_ns2_class1.php on line X
D'après PHP, j'importais une classe via la syntaxe use ns\class2
dans l'un de mes fichiers alors que son nom était déjà utilisé par une autre classe dans un autre fichier.
Après une petite prise de tête, j'ai réussi à isoler le cas posant problème en quelques lignes de code, et j'en ai déduis que l'ordre de déclaration de mes classes avait une importance, puisque suivant la façon dont j'incluais mes fichiers, j'obtenais, ou pas, le message d'erreur.
Or, un espace de noms est censé avoir une portée limitée au fichier dans lequel il est déclaré, et en conséquence, il me semblait que l'ordre d'inclusion des fichiers n'avait pas d'importance et donc que ce message n'avait pas de sens.
J'ai donc rédigé un rapport de bug à ce sujet, et j'ai attendu patiemment la réponse, pratiquement persuadé que j'avais débusqué un problème au sein de la gestion des espaces de nommage de PHP.
dimanche 10 juillet 2011
La révolution est en marche !
dimanche 10 juillet 2011. PHP X
Silencieusement, une page de l'histoire de PHP vient de se tourner.
En effet, il y a quelques jours, la RFC définissant les règles de gestion du processus de release de PHP avait été acceptée par la communauté des contributeurs, ainsi que celle régissant le processus de vote permettant à la communauté d'accepter ou de refuser l'ajout ou la modification de fonctionnalités au langage.
Et hier, Stanislav Malyshev, l'un des deux Release Manager
de PHP 5.4, a lancé le premier vote suivant ces nouvelles règles.
Pour la première fois dans l'histoire du langage, les développeurs de PHP ainsi que ses utilisateurs sont donc invités à faire un choix concernant l'avenir du langage à l'aide du suffrage universel.
mardi 5 juillet 2011
Test du serveur http intégré à PHP 5.4
mardi 5 juillet 2011. PHP X
Pour ceux qui ne le sauraient pas encore, PHP 5.4 intégrera nativement un serveur HTTP.
Au premier abord, l'idée peut paraître saugrenue, puisque dans la majorité des cas, PHP est installé via un package binaire qui intègre un serveur HTTP externe tel que apache ou nginx.
Cependant, en y regardant de plus près, le concept est séduisant, car l'installation et surtout la configuration d'un serveur HTTP de ce type peut être longue, fastidieuse et complètement hors de propos dans le cadre du développement d'un projet en PHP.
Il peut donc être intéressant de disposer d'un serveur HTTP intégré au langage et donc capable de s'interfacer directement avec lui sans configuration particulière, afin de gagner du temps.
La version alpha 1, disponible depuis quelques jours, ne dispose pas encore de cet outil, mais je n'ai pas pu résister à la tentation de le tester afin d'en savoir un peu plus à son sujet.
J'ai donc récupéré le code de PHP 5.4 à partir de son dépôt subversion, et quelques minutes de compilation plus tard, je pouvais lancer le serveur HTTP de PHP.