mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-04-26 10:08:10 +02:00
b24d2544e2
Update appendices/migration71/other-changes.xml Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com> Update appendices/migration72/new-features.xml Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com> Update appendices/migration71/other-changes.xml Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com> Update appendices/migration72/new-features.xml Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com>
380 lines
12 KiB
XML
380 lines
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- $Revision$ -->
|
||
<!-- EN-Revision: e61d2217d58d7135abd368baa1089e58c626fbcc Maintainer: jbnahan Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
|
||
<sect1 xml:id="migration72.incompatible">
|
||
<title>Évolutions incompatibles avec les versions précédentes</title>
|
||
|
||
<sect2 xml:id="migration72.incompatible.number_format-no-neg-zero">
|
||
<title>Empêcher <function>number_format</function> de retourner zéro négatif</title>
|
||
|
||
<para>
|
||
Auparavant, il était possible pour la fonction
|
||
<function>number_format</function> retourne <literal>-0</literal>.
|
||
Bien que cela soit parfaitement valide conformément à la norme "IEEE 754
|
||
floating point spécification", cette bizarrerie n'était pas souhaitable
|
||
pour l’affichage des nombres mis en forme sous une forme lisible par l'homme.
|
||
</para>
|
||
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
var_dump(number_format(-0.01)); // maintenant affiche string(1) "0" à la place de string(2) "-0"
|
||
]]>
|
||
</programlisting>
|
||
</informalexample>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.object-array-casts">
|
||
<title>Conversion des clés numériques dans les objets et tableaux lors de cast</title>
|
||
|
||
<para>
|
||
Les clé numériques sont maintenant mieux appréhendées lors de cast
|
||
d'un tableau en objet et d'un objet en tableau (cast explicite ou par
|
||
la fonction <function>settype</function>).
|
||
</para>
|
||
|
||
<para>
|
||
Cela signifie que les clés représentées par un entier (ou un entier sous
|
||
forme de texte) d'un tableau casté en objet sont désormais accessibles :
|
||
</para>
|
||
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
// tableau vers un objet
|
||
$arr = [0 => 1];
|
||
$obj = (object)$arr;
|
||
var_dump(
|
||
$obj,
|
||
$obj->{'0'}, // désormais accessible
|
||
$obj->{0} // désormais accessible
|
||
);
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
object(stdClass)#1 (1) {
|
||
["0"]=> // désormais clé texte plutôt qu'une clé entière
|
||
int(1)
|
||
}
|
||
int(1)
|
||
int(1)
|
||
]]>
|
||
</screen>
|
||
</informalexample>
|
||
|
||
<para>
|
||
Et les clés au format entier (ou entier sous forme de texte) des objets convertis
|
||
en tableaux sont désormais accessibles :
|
||
</para>
|
||
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
// objet vers tableau
|
||
$obj = new class {
|
||
public function __construct()
|
||
{
|
||
$this->{0} = 1;
|
||
}
|
||
};
|
||
$arr = (array)$obj;
|
||
var_dump(
|
||
$arr,
|
||
$arr[0], // désormais accessible
|
||
$arr['0'] // désormais accessible
|
||
);
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
array(1) {
|
||
[0]=> // désormais clé entière plutôt qu'une clé texte
|
||
int(1)
|
||
}
|
||
int(1)
|
||
int(1)
|
||
]]>
|
||
</screen>
|
||
</informalexample>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.no-null-to-get_class">
|
||
<title>Interdire de passer &null; à <function>get_class</function></title>
|
||
|
||
<para>
|
||
Auparavant, passer &null; à la fonction <function>get_class</function>
|
||
retournait le nom de la classe en cours. Ce comportement a été supprimé,
|
||
une erreur <constant>E_WARNING</constant> est affichée à la place.
|
||
Pour retrouver le même comportement qu'avant, l’argument devrait
|
||
simplement être supprimé.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.warn-on-non-countable-types">
|
||
<title>Avertir lors du comptage de types non dénombrables</title>
|
||
|
||
<para>
|
||
Un <constant>E_WARNING</constant> sera émis lors de la tentative
|
||
d'utilisation de la fonction <function>count</function> sur un
|
||
type non dénombrable (cela inclut la fonction alias
|
||
<function>sizeof</function>).
|
||
</para>
|
||
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
var_dump(
|
||
count(null), // NULL is not countable
|
||
count(1), // un entier n'est pas dénombrable
|
||
count('abc'), // une chaîne n'est pas dénombrable
|
||
count(new stdclass), // un objet qui n'implémente pas l'interface Countable n'est pas dénombrable
|
||
count([1,2]) // un tableau est dénombrable
|
||
);
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d
|
||
|
||
Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d
|
||
|
||
Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d
|
||
|
||
Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d
|
||
int(0)
|
||
int(1)
|
||
int(1)
|
||
int(1)
|
||
int(2)
|
||
]]>
|
||
</screen>
|
||
</informalexample>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.hash-ext-to-objects">
|
||
<title>Remplacement ext/hash de ressources en objets</title>
|
||
|
||
<para>
|
||
Dans le cadre de la migration à long terme des ressources, l’extension
|
||
<link linkend="book.hash">Hash</link> a été mise à jour pour utiliser les
|
||
objets au lieu de ressources. Le changement devrait être transparent pour
|
||
les développeurs PHP, à l’exception où des vérifications avec
|
||
<function>is_resource</function>
|
||
ont été faites (il sera nécessaire de remplacer par
|
||
<function>is_object</function>).
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.ssl-tls-defaults">
|
||
<title>Améliorer les valeurs par défaut SSL/TLS</title>
|
||
|
||
<para>
|
||
Les modifications suivantes concernant les valeurs par défaut ont été apportées :
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
<literal>tls://</literal> maintenant par défaut TLSv1.0 ou TLSv1.1 ou TLSv1.2
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
<literal>ssl://</literal> est un alias de <literal>tls://</literal>
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
<literal>STREAM_CRYPTO_METHOD_TLS_*</literal> constantes par défaut de
|
||
TLSv1.0 ou TLSv1.1 + TLSv1.2, à la place de TLSv1.0 uniquement.
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.gettype-on-closed-resource">
|
||
<title><function>gettype</function> valeur de retour sur les ressources fermées</title>
|
||
|
||
<para>
|
||
Auparavant, l'utilisation de <function>gettype</function> sur une ressource
|
||
fermée retournait une chaîne <literal>"unknown type"</literal>. Maintenant,
|
||
la chaîne <literal>"resource (closed)"</literal> sera retournée.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.is_object-on-incomplete_class">
|
||
<title><function>is_object</function> et <classname>__PHP_Incomplete_Class</classname></title>
|
||
|
||
<para>
|
||
Auparavant, l'utilisation de <function>is_object</function> sur la classe
|
||
<classname>__PHP_Incomplete_Class</classname> retournait &false;.
|
||
Maintenant, &true; sera retourné.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.undefined-constants">
|
||
<title>Augmentation du niveau d'erreur des constantes non définies</title>
|
||
|
||
<para>
|
||
Les références non qualifiées aux constantes non définies généreront
|
||
désormais une <constant>E_WARNING</constant> (à la place d'une <constant>E_NOTICE</constant>).
|
||
Dans la prochaine version majeure de PHP, elles généreront une exception
|
||
<classname>Error</classname>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.windows-support">
|
||
<title>Prise en charge de Windows</title>
|
||
|
||
<para>
|
||
Les versions minimales officiellement supportées pour Windows sont Windows 7/
|
||
Server 2008 R2.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.trait-properties">
|
||
<title>Vérification des valeurs par défaut des propriétés des traits</title>
|
||
|
||
<para>
|
||
Les contrôles de compatibilité sur les valeurs par défaut des propriétés de trait n'effectueront plus la conversion.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.object-reserved-word">
|
||
<title><literal>object</literal> pour les noms de classes</title>
|
||
|
||
<para>
|
||
Le nom <literal>object</literal> était précédement soft-réservé en PHP 7.0.
|
||
Il est maintenant réservé, interdisant son utilisation comme nom de classe,
|
||
de trait ou d'interface.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.netware-support">
|
||
<title>Prise en charge de NetWare</title>
|
||
|
||
<para>
|
||
La prise en charge de NetWare a maintenant été supprimée.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.array-unique">
|
||
<title><function>array_unique</function> avec <constant>SORT_STRING</constant></title>
|
||
|
||
<para>
|
||
Alors que <function>array_unique</function> avec <constant>SORT_STRING</constant>
|
||
copiait anciennement le tableau et supprimait des éléments non uniques
|
||
(sans emballer le tableau par la suite), maintenant un nouveau tableau
|
||
est construit en ajoutant les éléments uniques.
|
||
Cela peut entraîner des index numériques différents.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.bcmod-and-floats">
|
||
<title><function>bcmod</function> change pour des nombres décimaux</title>
|
||
|
||
<para>
|
||
La fonction <function>bcmod</function> ne tronque plus les nombres
|
||
fractionnaires en entiers. En tant que tel, son comportement suit maintenant
|
||
<function>fmod</function>, plutôt que l'opérateur <literal>%</literal>.
|
||
Par exemple <literal>bcmod('4', '3.5')</literal> retourne maintenant
|
||
<literal>0.5</literal> à la place de <literal>1</literal>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.hash-functions">
|
||
<title>Fonctions de hachage et hachages non cryptographiques</title>
|
||
|
||
<para>
|
||
Les fonctions <function>hash_hmac</function>, <function>hash_hmac_file</function>,
|
||
<function>hash_pbkdf2</function>, et <function>hash_init</function> (avec
|
||
<constant>HASH_HMAC</constant>) n'acceptent plus les hachages non cryptographiques.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.json_decode-changes">
|
||
<title>Options de la fonction <function>json_decode</function></title>
|
||
|
||
<para>
|
||
L'option <constant>JSON_OBJECT_AS_ARRAY</constant> de la fonction
|
||
<function>json_decode</function> est maintenant utilisée si le second paramètre
|
||
(assoc) est &null;. Précédemment <constant>JSON_OBJECT_AS_ARRAY</constant> a
|
||
toujours été ignoré.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.rand-mt_rand-output">
|
||
<title>Sortie de <function>rand</function> et <function>mt_rand</function></title>
|
||
|
||
<para>
|
||
Les séquences générées par <function>rand</function> et
|
||
<function>mt_rand</function> pour des cas spécifiques peuvent différer
|
||
de PHP 7.1 sur les machines 64 bits (en raison de la correction d'un bug
|
||
dans l'implémentation de la polarisation du modulo).
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.sqlsafe_mode-ini-setting">
|
||
<title>Suppression du paramètre INI <link linkend="ini.sql.safe-mode"><parameter>sql.safe_mode</parameter></link></title>
|
||
|
||
<para>
|
||
Le paramètre INI <parameter>sql.safe_mode</parameter> a maintenant été supprimé.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.date_parse_from_format">
|
||
<title>Changement dans <function>date_parse</function> et <function>date_parse_from_format</function></title>
|
||
|
||
<para>
|
||
L'élément de <literal>zone</literal> du tableau retourné par <function>date_parse</function> et
|
||
<function>date_parse_from_format</function> représente des secondes au lieu des
|
||
minutes, et son signe est inversé. Par exemple <literal>-120</literal> est
|
||
maintenant <literal>7200</literal>.
|
||
</para>
|
||
</sect2>
|
||
|
||
<sect2 xml:id="migration72.incompatible.cookie-decode">
|
||
<title>Incoming Cookies</title>
|
||
|
||
<para>
|
||
Depuis PHP 7.2.34, les <emphasis>noms</emphasis> des cookies entrants ne sont plus
|
||
url-décodés pour des raisons de sécurité.
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|