Je vais donc commencer par la traditionnelle palanquée de corrections.
Ainsi, les bugs #5273, #53166, #53854, #53867, #53748, #53777, #53434, #52808, #52290, #53795, #53898, #49072, #53903, #53915, #53913, #53914, #53923 et #53924 ont été corrigés.
Il est donc maintenant entre autre possible d'utiliser de nouvelles propriétés dans une classeé héritant de \dateIntervalle
, l'introspection gére correctement les arguments par défaut des méthodes de la classe \zipArchive
ainsi que les constantes de classe définie à l'aide du mot-clef self
, et l'ensemble des constantes décrivant les différents protocoles de compression disponible dans cette même classe sont maintenant exposée à l'utilisateur.
De plus, le code des traits a été améliorer afin de ne plus faire crasher PHP dans certain cas spécifiques, et le module FPM du langage gère ses logs suivant le format de la directive php_error
et archive maintenant la requête ayant générée l'erreur.
J'ajouterais que la création d'un objet \DateInterval avec deux dates qui ne se suivent pas chronologiquement parlant ne provoque plus une erreur de segmentation de mémoire, et les méthodes \dateTime::setDate()
, \dateTime::setISODate()
et \dateTime::setTime()
se comportent dorénavant correctement lorsque l'instance de la classe \dateTime
a été créée à l'aide d'un horodatage.
Enfin, la connexion à une base de données mysql via SSL à l'aide du pilote mysqlnd
ne provoque plus d'erreur, le message d'erreur envoyé par l'extension PHAR lorsque le répertoire dans lequel le développeur souhaite sauvegarder l'archive n'existe pas est désormais plus explicite, la fonction feof() se comporte maintenant correctement en présence d'une archive zip endommagée, et une erreur de compilation du code des flux, de la SPL et de Zip, relative à l'absence de la constante HAVE_GLOB
dans certain cas, a été corrigée.
Il y a eu également au cours de cette période deux ajouts fonctionnels significatifs.
Le premier concerne l'extension SNMP, qui a été améliorée.
En effet, son code a été fiabilisé grâce à l'ajout de tests unitaires, ses fonctions renvoient maintenant une valeur de retour uniforme, à savoir false
, en cas d'erreur, et il est maintenant possible de manipuler plusieurs OID en une seule fois, que ce soit pour récupérer leurs valeurs ou les initialiser.
Il est à noter que l'ajout de ces fonctionnalités avait été proposé il y a quelques temps sur internals@, preuve que parfois, les contributeurs externes sont écoutés et leur code intégré à celui de PHP.
Le second ajout fonctionnel concerne la gestion des en-têtes HTTP.
Il est maintenant possible de manipuler ces derniers une fois que les en-têtes renvoyé par défaut par PHP, et ceux défini par le développeur ont été réunis, à l'aide de la fonction header_register_callback()
:
<?php
header('Content-Type: text/plain');
header('X-Test: foo');
header_register_callback(function() {
foreach (headers_list() as $header) {
if (strpos($header, 'X-Powered') !== false) {
header_remove('X-Powered-By');
}
header_remove('X-Test');
}
}
);
...
?>
La fonction imap_fetchmime()
a également été ajoutée, et il est maintenant également possible de se connecter à un serveur utilisant HTTPS via un proxy, à l'aide des flux.
Pour terminer, comme d'habitude, diverses corrections et optimisations, relatives soit à la compilation du langage, soit à son exécution, ont été effectuées, et sa fiabilité globale a donc été augmentée, même si un travail plus significatif a été réalisé sur les flux et mysqlnd
.
Sur la liste de diffusion des contributeurs, internals@, je n'ai rien relevé de réellement significatif.
Il y a en effet très peu de discussion actuellement, sans que je puisse en connaître la raison, et la seule qui a éveillé quelque peu mon intérêt ressemble plus à une chamaillerie dans une cours d'école qu'à autre chose et m'a montré qu'il existe encore certaine tension au sein des contributeurs.
Pierre Joye a en effet effectué une correction mineure, dans le but de mettre en place une bonne pratique, sur le code de Derick Rethans, code qui faisait originellement parti d'une extension mais qui est maintenant totalement intégré au code du langage.
Il semble que Derick l'ai relativement mal pris, et ai demandé des explications sur les raisons de cette modification.
La discussion est alors partie rapidement en vrille, et un bel échange d'amabilité a eu lieu entre les parties concernées, avant que les choses ne se tassent d'elles-mêmes.
Cette rétrospective est maintenant terminée, vous pouvez reprendre une activité normale.
4 réactions
1 De Guile - 06/02/2011, 17:45
Comment PHP peut-il survivre avec des développeurs s'attardant sur des détails aussi futiles?! J'hallucine.
Et l'argument de parler de "MON" extension...
Pire qu'une chamaillerie de cour d'école, c'est à l'opposé des projets opensource. S'ils ne veulent pas voir leur sources modifiées, qu'ils ne fassent pas de l'opensource...
Ca m'écoeure de voir que PHP subit les humeurs de personnes si immatures.
2 De stealth35 - 06/02/2011, 22:10
et l'ajout du support du charset dans le DSN de PDO_Mysql :
mysql:host=localhost;dbname=test;charset=utf-8
3 De mageekguy - 07/02/2011, 09:02
@stealth35 : tu as juste vingt jours de retard...
4 De Cyrano - 08/02/2011, 09:54
@Guile : ce genre de comportement n'est pas spécifique au PHP-Group. Il y a une constante en informatique, la plupart des développeurs ont des mentalités d'écorchés vifs et des susceptibilités à fleur de peau en plus, parfois, d'un égo surdimensionné.
La manière dont je traduis la rédaction de mageekguy, c'est que Pierre Joye n'a pas fait preuve d'une grande subtilité mais à probablement fait la chose de bonne volonté, mais sans avoir le tact d'en discuter avec Derick Rethans. Ce sont des choses qui ne se font pas, en tous cas certainement pas à ce niveau là et en l'occurrence, les deux ont à mon sens tort.
Maintenant de là à monter le truc en épingle n'est peut-être pas d'un intérêt bouleversant. Ce qu'on peut en revanche en tirer, c'est que justement, si on se veut professionnel du développement, on doit faire preuve de patience et sens des bonnes manières, tous autant que nous sommes.