Mot-clé - Unicode

Fil des billets - Fil des commentaires

dimanche 1 avril 2012

PHP utilisera dorénavant la JVM

Il y a maintenant deux ans, suite à l'arrêt du développement de PHP 6, les développeurs de Zend ont immédiatement commencé à chercher une solution alternative pour intégrer à moyen terme le support d'Unicode dans PHP.

Pour rappel, Zend est la société créée par Zeev Suraski et Andi Gutman, qui sont les concepteurs originels du Zend Engine, le moteur le plus utilisé, et de loin, pour exécuter du code écrit en PHP.

Cependant, malgré cela, Zend, a grand besoin que PHP supporte Unicode nativement, afin de pouvoir obtenir de nouveaux marchés, notamment en Asie et plus particulièrement en Chine.

En effet, le fait que le langage ne supporte pas nativement les différents alphabets et syllabaires de cette région du monde est un gros handicap pour le langage, et Zend a donc du mal à y gagner des parts de marché.

De plus, la société redoute que les chinois, fidèle à leurs habitudes, développent une version de PHP ou pire un nouveau langage qui intégrera nativement le support d'Unicode, ce qui leur fermerait à tout jamais les portes de ce juteux marché.

Il était donc absolument nécessaire pour Zend de trouver une solution efficace pour que PHP soit capable de manipuler nativement et efficacement des chaînes de caractères Unicode.

Lire la suite

lundi 12 mars 2012

PHP 5.4 et l'encodage de caractères

PHP 5.4 vient d'être rendu disponible et sa conception, qui a commencé dans la foulée de l'abandon du développement de PHP 6, aura duré à première vue pratiquement deux ans jour pour jour.

Cependant, à y regarder d'un peu plus près, le développement de PHP 5.4 a duré bien plus longtemps que cela, puisque certaine partie de son code ont été écrites durant la période de gestation de PHP 6.

La version 5.4 du langage, malgré sa numérotation la définissant comme une version mineure, est donc le fruit d'un gros travail effectué par les développeurs du langage.

Il est donc légitime de se demander s'il est pertinent de la mettre en œuvre dès aujourd'hui et de s'interroger sur ce qu'elle apporte au développeur.

Je tente déjà d'apporter des éléments de réponse à la première interrogation dans la série de billets correspondante.

Je vais donc tenter dans la série inaugurée par ce billet de répondre à la seconde, car il est très difficile de lister et surtout d'expliquer l'intérêt des apports de PHP 5.4 dans un unique article.

Les nouveautés de PHP 5.4 sont en effet à la mesure du travail fourni par ses concepteurs et sont donc très nombreuses.

De plus, certaines sont très riches et puissantes et il est donc difficile d'en démontrer l'intérêt en quelques mots.

Je vais donc tenter au cours des semaines qui viennent de publier régulièrement un billet décrivant l'un des nombreux apports de PHP 5.4, qu'ils s'agissent d'une suppression ou d'un ajout de fonctionnalité.

Et pour commencer, je vais vous parler des changements intervenus au niveau des directives de configuration du langage et plus particulièrement de celles relatives à la gestion de l'encodage de caractères.

Lire la suite

jeudi 23 décembre 2010

Supprimer les accents d'une chaîne de caractères et la passer en lowerCamelCase en PHP

Dans le cadre de mon travail, je viens d'être confronté à une problématique intéressante, dans le sens où elle m'a fait utiliser une fonctionnalité de PHP 5.3 que je n'avais encore jamais eu l'occasion d'utiliser, à savoir intl.

J'ai été en effet obligé de trouver un code PHP permettant de transformer la chaîne de caractères Équipe médicale principale en equipeMedicalePrincipale.

Le problème peut sembler trivial, et pourtant, il n'est pas simple à régler.

Il est possible de le décomposer en quatre étapes :

  1. Passage en casse basse de la première lettre.
  2. Suppression des accents.
  3. Passage en casse haute de toutes les lettres précédées d'un espace.
  4. Suppression des espaces blancs.

Et si les étapes 1, 3 et 4 sont relativement simple, l'étape 2 est quand à elle beaucoup plus délicate à solutionner.

Lire la suite

mercredi 1 décembre 2010

Mort de PHP6 + 260 jours

Le développement de PHP vit depuis la dernière rétrospective une période mouvementée.

En effet, il y a actuellement deux nouvelles versions du langage en préparation, et une troisième, qui correspond à la version de développement et devrait en théorie s'appeler PHP 5.4, est en cours de préparation.

De plus, il souffle sur la liste de diffusion des contributeurs, internals@, comme un léger vent de révolution.

En effet, si vous ne le saviez pas encore, en caricaturant quelque peu, il y a actuellement trois camps au sein de la communauté des contributeurs au langage, qui se livre quasiment quotidiennement un combat acharné pour parvenir à leurs fins.

L'un, que j'appellerai le camp traditionaliste, fait tout pour que le développement de PHP se poursuive de la même façon que depuis toujours, à savoir avec peu, voir aucun, formalisme, un pragmatisme forcené qui frise parfois le ridicule, une mauvaise fois récurrente et un nombrilisme relativement prononcé qui lui fait perdre de vue, voir même totalement ignorer, les désirs des utilisateurs.

L'autre, que j'appelais le camp progressiste, fait au contraire tout ce qu'il peut pour faire évoluer le développement du langage vers plus de formalisme tout en l'ouvrant plus largement vers les utilisateurs, en écoutant ce qui vient de l'extérieur en essayant d'en tirer le meilleur.

Et entre les deux, il y a les éternels indécis qui font parti de ce que j'appellerais le camp centriste et dont l'opinion varie au grès des courants et des pressions appliquées par l'un ou l'autre camp.

Et depuis quelques jours, le camp progressiste a lancé une grande offensive sur plusieurs points, en proposant plusieurs RFC qui vont pour la plupart à l'encontre des idées du camp traditionaliste.

En conséquence, si le trunk, qui contient la version en cours de développement de PHP, a évolué et que quelques modifications significatives ont été effectuées ces dix derniers jours, les choses les plus intéressantes se sont produites sur internals@.

Lire la suite

jeudi 21 octobre 2010

Mort de PHP6 + 220 jours

trunkPHP20101021.png

Si la période précédente avait été relativement intéressante, il n'en est pas de même pour celle qui vient de se terminer.

En effet, le trunk, qui contient en tout ou partie la prochaine version majeure de PHP, n'a été modifié qu'une vingtaine de fois, alors qu'il avait reçu plus de 70 modifications il y a 10 jours.

Le ralentissement est d'ailleurs nettement visible sur l'électroencéphalogramme du langage.

trunkPHP20101021.png

Et si le nombre de modifications est beaucoup moins important, l'intérêt de ces dernière l'est tout autant, puisqu'il s'agit quasiment exclusivement de corrections, de nettoyage et d'optimisation diverses.

Il est difficile de donner la cause de ce ralentissement, car il y a beaucoup d'explications possibles, la première étant qu'une énorme travail a déjà été réalisé et que la majorité sinon la totalité des nouvelles fonctionnalités envisagées pour la prochaine version majeure du langage sont maintenant implémenté.

Il ne faut donc pas à mon sens percevoir négativement ce ralentissement, mais plutôt comme un signe positif qui pourrait éventuellement laisser espérer prochainement une version alpha, d'autant que cela fait maintenant un moment que la consolidation du code est en cours.

Le sujet vient d'ailleurs d'être évoqué sur la liste de diffusion des contributeurs, internals@, elle-même relativement calme, puisqu'un membre de la liste a demandé si une date de diffusion avait été décidée pour cette fameuse version alpha.

Lire la suite

- page 1 de 2