Files
doc-fr/appendices/migration74/deprecated.xml
dem b24d2544e2 Fix some typos
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>
2021-04-28 12:51:10 +01:00

299 lines
9.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4642b715f374b4220884fa110b6529ac948799b5 Maintainer: girgias Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="migration74.deprecated">
<title>Fonctionnalités obsolètes</title>
<sect2 xml:id="migration74.deprecated.core">
<title>Cœur de PHP</title>
<sect3 xml:id="migration74.deprecated.core.nested-ternary">
<title>Opérateurs ternaires imbriqués sans parenthèses explicites</title>
<para>
Les opérateurs ternaires imbriqués doivent explicitement utiliser des
parenthèses pour dicter l'ordre des opérations. Précédemment, quand utilisée
sans parenthèses, l'associativité-gauche ne résulterait pas dans le
comportement attendu pour la plupart des cas.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
1 ? 2 : 3 ? 4 : 5; // obsolète
(1 ? 2 : 3) ? 4 : 5; // ok
1 ? 2 : (3 ? 4 : 5); // ok
?>
]]>
</programlisting>
</informalexample>
</para>
<para>
Les parenthèses ne sont <emphasis>pas</emphasis> requises lors de l'imbrication
dans l'opérant du milieu car ceci est toujours sans ambiguïté et n'est pas
affecté par l'associativité :
<informalexample>
<programlisting role="php">
<![CDATA[
1 ? 2 ? 3 : 4 : 5 // ok
]]>
</programlisting>
</informalexample>
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.array-string-access-curly-brace">
<title>Accès de position de tableau et de chaînes en utilisant les accolades</title>
<para>
La syntaxe pour accéder à la position des &array;x et &string; avec les
accolades est obsolète. Utiliser <literal>$var[$idx]</literal> au lieu de
<literal>$var{$idx}</literal>.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.real">
<title>Le transtypage (real) et la fonction <function>is_real</function></title>
<para>
Le transtypage <literal>(real)</literal> est obsolète,
utiliser <literal>(float)</literal> à la place.
</para>
<para>
La fonction <function>is_real</function> est aussi obsolète,
utiliser <function>is_float</function> à la place.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.unbind-this">
<title>Délier <literal>$this</literal> quand <literal>$this</literal> est utilisé</title>
<para>
Délier <literal>$this</literal> d'une fermeture non statique qui utilise
<literal>$this</literal> est obsolète.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.parent">
<title>Mot-clé <literal>parent</literal> sans classe parente</title>
<para>
L'utilisation de <literal>parent</literal> à l'intérieur d'une classe sans
parent est obsolète, et émettra une erreur lors de la compilation dans le
futur. Actuellement seule une erreur sera générée si/quand un parent est
accédé lors de l'exécution.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.allow-url-include">
<title>Option INI allow_url_include</title>
<para>
La directive INI <link linkend="ini.allow-url-include">allow_url_include</link>
est obsolète. L'activer génèrera un avis d'obsolescence lors du démarrage.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.invalid-base-characters">
<title>Caractères invalides dans les fonctions de conversion de base</title>
<para>
Passer des caractères invalides à <function>base_convert</function>,
<function>bindec</function>, <function>octdec</function> et
<function>hexdec</function> génèrera désormais un avis d'obsolescence.
Le résultat sera toujours calculé comme si les caractères invalides
n'existaient pas. Les caractères d'espacement blanc, aussi bien que les
préfixes de type 0x (en fonction de la base) continuent d'être acceptés.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.array-key-exists-objects">
<title>L'utilisation de <function>array_key_exists</function> sur des objets</title>
<para>
L'utilisation de <function>array_key_exists</function> sur des objets est
obsolète. À la place <function>isset</function> ou
<function>property_exists</function> devraient être utilisés.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.magic-quotes-functions">
<title>Fonctions des guillemets magiques</title>
<para>
Les fonctions <function>get_magic_quotes_gpc</function> et
<function>get_magic_quotes_runtime</function> sont obsolètes.
Elles retournent toujours &false;.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.hebrevc">
<title>Fonction <function>hebrevc</function></title>
<para>
La fonction <function>hebrevc</function> est obsolète.
Elle peut être remplacée par <literal>nl2br(hebrev($str))</literal> ou,
de préférence, en utilisant le support Unicode RTL (Droite à Gauche).
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.convert-cyr-string">
<title>Fonction <function>convert_cyr_string</function></title>
<para>
La fonction <function>convert_cyr_string</function> est obsolète.
Elle peut être remplacée par l'une de <function>mb_convert_string</function>,
<function>iconv</function> ou <classname>UConverter</classname>.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.money-format">
<title>Fonction <function>money_format</function></title>
<para>
La fonction <function>money_format</function> est obsolète.
Elle peut être remplacée par la fonctionnalité intl
<classname>NumberFormatter</classname>.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.ezmlm-hash">
<title>Fonction <function>ezmlm_hash</function></title>
<para>
La fonction <function>ezmlm_hash</function> est obsolète.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.restore-include-path">
<title>Fonction <function>restore_include_path</function></title>
<para>
La fonction <function>restore_include_path</function> est obsolète.
Elle peut être remplacée par <literal>ini_restore('include_path')</literal>.
</para>
</sect3>
<sect3 xml:id="migration74.deprecated.core.implode-reverse-parameters">
<title>Implode avec l'ordre de paramètre historique</title>
<para>
Passer les paramètres à <function>implode</function> dans l'ordre inverse
est obsolète, utiliser <literal>implode($glue, $parts)</literal>
au lieu de <literal>implode($parts, $glue)</literal>.
</para>
</sect3>
</sect2>
<sect2 xml:id="migration74.deprecated.com">
<title>COM</title>
<para>
L'importation de bibliothèques de type avec l'enregistrement de constantes
non sensibles à la casse a été rendue obsolète.
</para>
</sect2>
<sect2 xml:id="migration74.deprecated.filter">
<title>Filtre</title>
<para>
<constant>FILTER_SANITIZE_MAGIC_QUOTES</constant> est obsolète,
utiliser <constant>FILTER_SANITIZE_ADD_SLASHES</constant> à la place.
</para>
</sect2>
<sect2 xml:id="migration74.deprecated.mbstring">
<title>Chaînes Multi-octets</title>
<para>
Passer un pattern qui n'est pas une &string; à
<function>mb_ereg_replace</function> est obsolète.
Actuellement, les patterns qui ne sont pas des &string; sont interprétés
en tant que point de code ASCII. En PHP 8, le pattern sera interprété comme
une &string; à la place.
</para>
<para>
Passer l'encodage en tant que troisième paramètre à
<function>mb_strrpos</function> est obsolète. À la place passer une position
de 0, et l'encodage en tant que quatrième paramètre.
</para>
</sect2>
<sect2 xml:id="migration74.deprecated.ldap">
<title>Lightweight Directory Access Protocol (LDAP)</title>
<para>
<function>ldap_control_paged_result_response</function> et
<function>ldap_control_paged_result</function> sont obsolètes.
Les contrôles de paginations peuvent être envoyés avec
<function>ldap_search</function> à la place.
</para>
</sect2>
<sect2 xml:id="migration74.deprecated.reflection">
<title>Reflection</title>
<para>
L'appel à <methodname>ReflectionType::__toString</methodname> génère
maintenant un avis d'obsolescence. Cette méthode a été dépréciée en faveur
de <methodname>ReflectionNamedType::getName</methodname> dans la
documentation à partir de PHP 7.1, mais ne lançait pas un avis d'obsolescence
pour des raisons techniques.
</para>
<para>
Les méthodes <literal>export()</literal> dans toutes les classes
<classname>Reflection</classname> sont obsolètes. Créer un objet
<classname>Reflection</classname> et le convertir en &string; à la place :
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
// ReflectionClass::export(Foo::class, false) est :
echo new ReflectionClass(Foo::class), "\n";
// $str = ReflectionClass::export(Foo::class, true) est :
$str = (string) new ReflectionClass(Foo::class);
?>
]]>
</programlisting>
</informalexample>
</para>
</sect2>
<sect2 xml:id="migration74.deprecated.socket">
<title>Socket</title>
<para>
Les drapeaux <constant>AI_IDN_ALLOW_UNASSIGNED</constant> et
<constant>AI_IDN_USE_STD3_ASCII_RULES</constant> pour
<function>socket_addrinfo_lookup</function> sont obsolètes,
en raison d'une dépréciation en amont dans glibc.
</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
-->