mageekblog - Mot-clé - Andi GutmansLe blog personnel de Frédéric Hardy. Au menu, PHP, agilité, FreeBSD, cuisine et photographies.2021-12-02T08:20:54+01:00Frédéric Hardyurn:md5:26874ca5b8cd4cac8d08b0e68e64f63aDotclearPHP : les nouvelles du front #390urn:md5:59344b6ec5bc157cf9e62b37fb662fac2011-04-18T23:00:00+02:002011-04-20T00:00:59+02:00mageekguyPHP XAndi Gutmansinternals@PHPPHP 5.4Pierre JoyeRFCtrunk<p>Le moins que l'on puisse dire au sujet des 10 jours qui viennent de s'écouler est qu'ils ont été particulièrement contrastés.</p>
<p>En effet, le <a href="http://svn.php.net/viewvc/php/php-src/trunk/">trunk</a> de <a href="http://www.php.net">PHP</a> a été très calme, puisqu'il n'a subit que 16 modifications, ce doit être un record depuis que je fais cette chronique.</p>
<p>Cette baisse d'activité est d'ailleurs très nettement visible sur l'électro-encéphalogramme du langage :</p>
<p><img src="http://blog.mageekbox.net/public/trunkPHP20110418.png" alt="trunkPHP20110418.png" style="margin-top: 0; margin-right: auto; margin-bottom: 0; margin-left: auto; display: block; " title="trunkPHP20110418.png, avr. 2011" /></p>
<p>À contrario, la liste de diffusion des contributeurs, <a href="http://news.php.net/php.internals">internals@</a>, a été relativement active, avec notamment un débat fleuve qui avait pourtant commencé lors de <a href="http://blog.mageekbox.net/?post/2011/04/07/PHP-%3A-les-nouvelles-du-front-380">la période précédente</a>.</p> <p>Sur les 16 modifications faites sur le <a href="http://svn.php.net/viewvc/php/php-src/trunk/">trunk</a>, 7 sont des corrections de bugs.</p>
<p>Le bug <a href="http://bugs.php.net?id=54358">#54358</a> que j'avais détecté lors de la sortie de PHP 5.3.6 grâce aux tests unitaires <a href="http://www.slideshare.net/impossiblium/atoum-le-framework-de-tests-unitaires-pour-php-53-simple-moderne-et-intuitif">d'Atoum</a> a par exemple été corrigé, ainsi que les bugs <a href="http://bugs.php.net?id=54039">#54039</a>,
<a href="http://bugs.php.net?id=54494">#54494</a>,
<a href="http://bugs.php.net?id=54440">#54440</a>,
<a href="http://bugs.php.net?id=54121">#54121</a>,
<a href="http://bugs.php.net?id=54238">#54238</a> et
<a href="http://bugs.php.net?id=54268">#54268</a>.</p>
<p>Deux autres modifications correspondent à l'implémentation de fonctionnalités demandées par les utilisateurs du langage.</p>
<p>La version de <a href="http://www.php.net">PHP</a> contenue dans le <a href="http://svn.php.net/viewvc/php/php-src/trunk/">trunk</a> est donc maintenant capable de se connecter à une base de données à l'aide du protocole <abbr title="Secure Sockets Layer"><a href="http://fr.wikipedia.org/wiki/Secure_Sockets_Layer">SSL</a></abbr> via <abbr title="PHP Data Objects"><a href="http://fr2.php.net/pdo">PDO</a></abbr>, tandis que <a href="http://bugs.php.net/bug.php?id=54540">la gestion des ressources</a> d'<a href="http://fr2.php.net/intl/">intl</a> a été améliorée.</p>
<p>Par ailleurs, le patch proposé par <a href="http://sebastian-bergmann.de/">Sebastian Bergmann</a> lors de la p<a href="http://blog.mageekbox.net/?post/2011/04/07/PHP-%3A-les-nouvelles-du-front-380">ériode précédente</a> visant à ajouter un argument à la fonction <code><a href="http://fr2.php.net/manual/fr/function.debug-backtrace.php">debug_backtrace()</a></code> afin de ne récupérer qu'un nombre limité de traces a été appliqué sur le <a href="http://svn.php.net/viewvc/php/php-src/trunk/">trunk</a>.</p>
<p>La documentation de la fonction a été mise à jour en conséquence, et on peut y remarquer que la prochaine version y est désignée sous le nom de PHP 5.4.</p>
<p>De là à dire qu'il s'agira bien du nom de la version correspondant au trunk, il y a un pas que j'hésite à franchir, mais je pense que c'est tout de même un indice recevable, d'autant que j'ai eu des informations complémentaires via <a href="http://news.php.net/php.internals">internals@</a>.</p>
<p>Cela sous-entend cependant qu'il ne s'agira pas d'une majeure en tant que telle, mais si elle est de la même veine que PHP 5.3, je pense que nous ne nous en plaindrons pas.</p>
<p>La dernière modification significative est l'ajout de la constante PHP_MANDIR, qui contient le chemin d'accès au répertoire des pages du manuel de <a href="http://www.php.net">PHP</a>, les autres étant des optimisations diverses et des corrections visant à améliorer la fiabilité du langage et la lisibilité de son code.</p>
<p>Comme je l'ai dis en introduction, l'activité a été beaucoup plus intense sur <a href="http://news.php.net/php.internals">internals@</a>.</p>
<p>Le débat débuté sur <a href="http://blog.mageekbox.net/?post/2011/04/07/PHP-%3A-les-nouvelles-du-front-380">la période précédente</a> au sujet de l'opérateur ternaire et de la possibilité de lui permettre de ne pas générer d'erreur lors d'un test sur une variable indéfinie s'est poursuivi et a quasiment monopolisé l'attention des contributeurs.</p>
<p>Plusieurs propositions différentes ont en effet été faites pour obtenir ce comportement, comme par exemple l'introduction d'un opérateur dérivé de l'opérateur ternaire et qui serait représenté par <code>??</code> et qui aurait le comportement suivant :</p>
<blockquote><pre><code><?php
...
// Fonctionnement standard de l'opérateur ternaire
$value = isset($a[$key]) ? $a[$key] : 'Indéfini';
// Utilisation de ?? pour éviter l'appel à isset()
$value = $a[$key] ?? : 'Indéfini';
// Utilisation de ?? d'une manière similaire à l'opérateur ternaire
$value = $a[$key] ?? strtoupper($a[$key]) : 'Indéfini';
...
?> </code></pre></blockquote>
<p>Le débat a de plus dérivé sur le sujet de l'opérateur <code>@</code> et de l'ajout du mot-clef <a href="http://news.php.net/php.internals/51857"><code>silent</code></a> pour le remplacer dans les cas ou la propagation et surtout la gestion de l'erreur ne doit pas être possible, ce que ne permet pas <code>@</code>.</p>
<p>Comme d'habitude dans ce genre de situation, le débat s'est étouffé de lui-même, sans qu'aucune décision soit prise.</p>
<p>Pour autant, cela ne veut pas dire que les idées énoncées lors de la discussion vont partir aux oubliettes, et il donc très possible de voir l'une ou l'autre de ces solutions intégrées dans le langage à plus ou moins longue échéance.</p>
<p>Il a également été proposé <a href="http://news.php.net/php.internals/51920">d'intégrer le patch</a> permettant de disposer <a href="https://wiki.php.net/rfc/builtinwebserver">d'un serveur <abbr title="HyperText Transport Protocol">HTTP</abbr></a> au sein même du langage.</p>
<p>Pour le moment, la proposition, qui avait déjà rencontré un accueil chaleureux par le passé, a été plutôt bien accueilli, même si <a href="http://en.wikipedia.org/wiki/Andi_Gutmans">Andi Gutmans</a> semble vouloir, avec raison, mettre vraiment l'accent sur le fait qu'il s'agit <a href="http://news.php.net/php.internals/51924">uniquement d'un outil de développement</a>.</p>
<p>Enfin, une discussion a commencé au sujet d'une hypothétique version 5.4, qui serait une version mineure basée sur le trunk.</p>
<p>Pour l'instant, rien n'est réellement décidé, d'autant que <a href="http://blog.thepimp.net">Pierre Joye</a>, l'un des instigateurs de la <abbr title="Request For Comments">RFC</abbr> relative à <a href="https://wiki.php.net/rfc/releaseprocess">la gestion du processus de release</a> du langage, n'a pas encore pris part au débat, et qu'il était ressorti de ma dernière discussion avec lui sur le sujet que ce n'était pas encore le bon moment pour faire cela.</p>
<p>Cette rétrospective est maintenant terminée, vous pouvez reprendre une activité normale.</p>
<p>Cette information est donc, malheureusement, à prendre avec des pincettes et il faut donc attendre pour savoir ce qu'il en sortira exactement.</p>http://blog.mageekbox.net/?post/2011/04/19/PHP-%3A-les-nouvelles-du-front-390#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/254