juillet 2011 (8)

jeudi 28 juillet 2011

Plein PHAR 3

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  […]

Lire la suite

mardi 26 juillet 2011

Mettons fin aux rumeurs, voici les faits !

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.

Lire la suite

samedi 23 juillet 2011

La révolution continue !

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.

Lire la suite

dimanche 17 juillet 2011

Résultats du vote !

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.

Lire la suite

jeudi 14 juillet 2011

PHP 5.4 alpha 2

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  […]

Lire la suite

Espace de noms et importations de classes

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.

Lire la suite

dimanche 10 juillet 2011

La révolution est en marche !

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.

Lire la suite

mardi 5 juillet 2011

Test du serveur http intégré à PHP 5.4

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.

Lire la suite