mageekblog - Mot-clé - sqliteLe 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:26874ca5b8cd4cac8d08b0e68e64f63aDotclearMort de PHP6 + 220 joursurn:md5:0d5d928efadb9dfb8b44658742c4a0192010-10-21T23:00:00+02:002010-10-22T09:16:10+02:00mageekguyPHP Xinternals@PHP 6PHP XsqliteUnicodeZend Engine<p>Si <a href="http://blog.mageekbox.net/?post/2010/10/11/Mort-de-PHP6-210-jours">la période précédente</a> avait été relativement intéressante, il n'en est pas de même pour celle qui vient de se terminer.</p>
<p>En effet, le <a href="http://svn.php.net/viewvc/php/php-src/trunk/">trunk</a>, qui contient en tout ou partie la prochaine version majeure de <a href="http://www.php.net/">PHP</a>, n'a été modifié qu'une vingtaine de fois, alors qu'il avait reçu plus de 70 modifications il y a 10 jours.</p>
<p>Le ralentissement est d'ailleurs nettement visible sur <a href="http://blog.mageekbox.net/?post/2010/04/22/L-%C3%A9lectro-enc%C3%A9phalogramme-de-PHP-existe-%21">l'électroencéphalogramme</a> du langage.</p>
<p><img title="trunkPHP20101021.png, oct. 2010" style="margin: 0 auto; display: block;" alt="trunkPHP20101021.png" src="http://blog.mageekbox.net/public/svneeg.mageekbox.net.png" /></p>
<p>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.</p>
<p>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é.</p>
<p>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.</p>
<p>Le sujet vient d'ailleurs <a href="http://news.php.net/php.internals/49943">d'être évoqué</a> sur la liste de diffusion des contributeurs, <a href="http://news.php.net/php.internals/">internals@</a>, 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.</p> <p>Il n'a cependant pas reçu la moindre réponse à sa demande au moment où j'écris ces lignes.</p>
<p>Et en attendant une réponse éventuelle au sujet d'un futur hypothétique, je me propose de vous parler du présent, même si je suis bien obligé d'avouer qu'il n'a rien de bien passionnant.</p>
<p>Le lot de correction de bugs est présent, comme d'habitude, mais contrairement aux périodes précédentes, il est beaucoup plus petit.</p>
<p>Ainsi, les bugs <a href="http://bugs.php.net?id=49407">#49407</a>,
<a href="http://bugs.php.net?id=25927">#25927</a>,
<a href="http://bugs.php.net?id=52939">#52939</a>,
<a href="http://bugs.php.net?id=53070">#53070</a> et,
<a href="http://bugs.php.net?id=53089">#53089</a> ont été corrigés, tandis que le bug <a href="http://bugs.php.net?id=53006">#53006</a> est en cours de résolution.</p>
<p>Par ailleurs, la fonction <code><a href="http://fr.php.net/get_html_translation_table/">get_html_translation_table()</a></code> accepte maintenant un troisième paramètre permettant d'indiquer l'encodage devant être utilisé, comme dans le cas de <code><a href="http://fr.php.net/htmlentities">htmlentities()</a></code>.</p>
<p>Cela semble confirmer que la gestion des jeux de caractères en général et d'<a href="http://en.wikipedia.org/wiki/Unicode">Unicode</a> en particulier au sein de <a href="http://www.php.net">PHP</a> revient peu à peu au premier plan des préoccupations de certains développeurs, même si c'est par la très petite porte et qu'il s'agit de solutions très partielles qui n'ont rien à voir avec une gestion beaucoup plus globale.</p>
<p>Dans un registre différent, <a href="http://www.php.net/">PHP</a> est maintenant capable de détecter les éditions <q>Starter</q>, <q>Tablet PC</q> et <q>Media Center</q> de Windows, même si pour l'instant la version <q>Server 2008</q> n'est toujours pas reconnue correctement.</p>
<p>Le reste des modifications concerne diverses optimisations au sein du <a href="http://en.wikipedia.org/wiki/Zend_Engine">Zend Engine</a>, ainsi qu'une correction dans la classe <code><a href="http://fr2.php.net/manual/en/function.ziparchive-getarchivecomment.php">zipArchive::getArchiveComment()</a></code> et au niveau de la gestion des <a href="http://fr.php.net/stream">flux</a>.</p>
<p>Au passage, <a href="http://www.sqlite.org/">sqlite</a> a été mis à jour et <a href="http://www.php.net">PHP</a> embarque dorénavant la version <a href="http://www.sqlite.org/releaselog/3_7_3.html">3.7.3</a>.</p>
<p>La liste de diffusion des contributeurs a été également relativement calme, même si un membre de la liste a relevé un <q><a href="http://news.php.net/php.internals/49901">dysfonctionnement</a></q>, pour parler diplomatiquement, dans le processus de gestion des rapports de bugs.</p>
<p>Évidemment, aucun commentaire n'a été fait sur le dysfonctionnement signalé, et la suite de la discussion a été exclusivement réserver à l'aspect fonctionnel du problème soulevé par le rapport de bug mentionné.</p>
<p>Il y a également eu <a href="http://news.php.net/php.internals/49912">une tentative de relance</a> du débat relatif à la gestion de paramètres nommés par le langage.</p>
<p>Il s'agit d'un vieux serpent de mer qui revient régulièrement à la surface, même si les discussions à ce sujet sont considérées comme closes et qu'il a été décidé depuis 2005 que <a href="http://www.php.net/">PHP</a> <a href="http://www.php.net/%7Ederick/meeting-notes.html#named-parameters">n'implémentera jamais</a> ce type de fonctionnalité, car <a href="http://news.php.net/php.internals/49924">cela compliquerait inutilement</a> le langage.</p>
<p>Ce <q>détail</q> a d'ailleurs été signifié avec <a href="http://news.php.net/php.internals/49916">délicatesse</a> et <a href="http://news.php.net/php.internals/49923">gentillesse</a> à celui qui a relancé le débat, même si certain ont essayé de <a href="http://news.php.net/php.internals/49934"><q>tempérer</q></a> les choses en précisant que des fonctionnalités refusées maintes fois par le passé ont finalement été intégrées, comme par exemple les espaces de nommage et que les choses pouvaient, voir devaient, évoluer.</p>
<p>La rudesse de la réponse n'a cependant pas empêché qu'il soit relancé une nouvelle fois dans le cadre <a href="http://news.php.net/php.internals/49938">d'une discussion</a> visant à permettre de ne pas définir de valeur pour des arguments optionnels si cela n'est pas nécessaire, par exemple de cette façon :</p>
<blockquote><pre><code><?php<br /><br />function foo($var1, $var2 = 2, $var3 = 3)<br />{<br />echo "$var1, $var2, $var3\n";<br />}<br />foo(10,, 30);<br /><br />?></code></pre></blockquote>
<p>Cependant, cela n'est pas plus passé que la première fois, et encore une fois, <a href="http://news.php.net/php.internals/49952">toute discussion sur le sujet a été refusée</a>.</p>
<p>Enfin, <a href="http://derickrethans.nl/">Derick Rethans</a> a recommencé à travailler sur le contrôle du type des arguments, et les choses semblent aller <a href="http://news.php.net/php.internals/49925">relativement vite</a> et être conforme aux décisions prisent lors du dernier débat à ce sujet.</p>
<p>Cette rétrospective est maintenant terminée, vous pouvez reprendre une activité normale.</p>http://blog.mageekbox.net/?post/2010/10/21/Mort-de-PHP6-220-jours#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/202