Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions language/control-structures/throw.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 31d9f67dd1a2574dd870a2dc2ccacbed75d2ce36 Maintainer: lacatoire Status: ready -->
<!-- EN-Revision: 6b099f8dcc7a8f4a6863a6149d7cd97c7f43c470 Maintainer: lacatoire Status: ready -->

<sect1 xml:id="control-structures.throw" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>throw</title>
Expand All @@ -19,6 +19,10 @@
Tenter de lancer avec &throw; un objet qui n'est pas
<exceptionname>Throwable</exceptionname> lève une erreur
<exceptionname>Error</exceptionname>.
Comme les classes utilisateur ne peuvent pas implémenter directement
<exceptionname>Throwable</exceptionname>, l'objet lancé doit être une instance
de <exceptionname>Error</exceptionname> ou de <exceptionname>Exception</exceptionname>,
ou d'une sous-classe de l'une d'elles.

<example>
<title>Lancer un objet qui n'est pas <exceptionname>Throwable</exceptionname></title>
Expand All @@ -42,7 +46,11 @@ Stack trace:
<simpara>
Après l'utilisation de &throw;, le flux normal d'exécution est interrompu et
la pile d'appels est dépilée jusqu'à ce que l'objet soit attrapé par un bloc
&catch; ou que la portée globale soit atteinte. Dans ce dernier cas, le
&catch; ou que la portée globale soit atteinte. Tous les blocs &finally;
rencontrés en chemin sont exécutés.
Si la portée globale est atteinte, l'objet est transmis au gestionnaire
d'exceptions défini avec <function>set_exception_handler</function>, s'il y en a un,
et le script se termine une fois le gestionnaire terminé. Sinon, le
programme se termine avec une erreur fatale contenant la trace d'appels
indiquant l'endroit où l'objet <exceptionname>Throwable</exceptionname> a été
lancé.
Expand Down
35 changes: 20 additions & 15 deletions language/control-structures/try-catch.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 31d9f67dd1a2574dd870a2dc2ccacbed75d2ce36 Maintainer: lacatoire Status: ready -->
<!-- EN-Revision: 6b099f8dcc7a8f4a6863a6149d7cd97c7f43c470 Maintainer: lacatoire Status: ready -->

<sect1 xml:id="control-structures.try-catch" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>try...catch</title>
Expand All @@ -15,18 +15,13 @@
<simpara>
Lorsqu'une erreur <exceptionname>Throwable</exceptionname> est lancée dans un
bloc &try;, PHP tente de trouver le premier bloc &catch; correspondant pour
traiter l'erreur. S'il n'en trouve aucun, il dépile la pile d'appels
jusqu'à en trouver un ou jusqu'à atteindre un gestionnaire d'erreurs global.
traiter l'erreur. S'il n'en trouve aucun, la pile d'appels est dépilée
jusqu'à ce qu'un bloc &catch; correspondant soit trouvé ou que la portée
globale soit atteinte.
Un objet non attrapé est alors transmis au gestionnaire d'exceptions défini
avec <function>set_exception_handler</function>, s'il y en a un ; sinon,
le script se termine avec une erreur fatale.
</simpara>
<note>
<simpara>
Il est possible d'ajouter un gestionnaire pour toute erreur
<exceptionname>Throwable</exceptionname> non attrapée avec
<function>set_exception_handler</function>.
Ceci est similaire à l'encapsulation de l'ensemble du code dans un bloc
&try;-&catch;.
</simpara>
</note>
</sect2>
<sect2 xml:id="control-structures.catch" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>catch</title>
Expand All @@ -45,6 +40,13 @@
L'exécution normale reprend après le bloc &catch;, sans entrer dans les
autres blocs &catch; correspondants.
</simpara>
<note>
<simpara>
Il n'est <emphasis>pas</emphasis> recommandé d'attraper les objets
<exceptionname>Error</exceptionname>, car ils signalent une erreur de
programmation.
</simpara>
</note>
<example>
<title>Attraper une exception</title>
<programlisting role="php">
Expand Down Expand Up @@ -111,8 +113,6 @@ string(11) "MyException"
<simpara>
Plusieurs blocs &catch; peuvent être utilisés pour traiter différemment
différentes classes d'erreurs <exceptionname>Throwable</exceptionname>.
L'exécution normale (lorsqu'aucune erreur n'est lancée dans le bloc &try;)
se poursuit après le dernier bloc &catch; défini dans la séquence.
</simpara>
<example>
<title>Blocs catch multiples</title>
Expand All @@ -133,7 +133,6 @@ try {
<simpara>
Des erreurs <exceptionname>Throwable</exceptionname> peuvent être lancées
(ou relancées) avec &throw; dans un bloc &catch;.
Si rien n'est lancé, l'exécution reprend normalement.
</simpara>
<example>
<title>Exception imbriquée</title>
Expand Down Expand Up @@ -238,5 +237,11 @@ Une SpecificException a été lancée, mais les détails importent peu.
]]>
</screen>
</example>
<simpara>
Voir la section sur la
<link linkend="language.error-handling.throwable">gestion des erreurs</link>
pour la hiérarchie de <exceptionname>Throwable</exceptionname> et la manière
de définir des exceptions personnalisées.
</simpara>
</sect2>
</sect1>
39 changes: 14 additions & 25 deletions language/error-handling.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 31d9f67dd1a2574dd870a2dc2ccacbed75d2ce36 Maintainer: lacatoire Status: ready -->
<!-- EN-Revision: 6b099f8dcc7a8f4a6863a6149d7cd97c7f43c470 Maintainer: lacatoire Status: ready -->

<chapter xml:id="language.error-handling" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" annotations="interactive">
<title>Gestion des erreurs</title>
<note>
<simpara>Voir aussi la classe <exceptionname>Exception</exceptionname></simpara>
</note>
<simpara>
Les erreurs sont une partie normale du développement et du cycle de vie
d'une application. PHP fournit donc plusieurs moyens de signaler et de
Expand All @@ -20,7 +17,8 @@
en erreurs de <emphasis>programmation</emphasis> via la hiérarchie de
classes <exceptionname>Error</exceptionname> et en erreurs
<emphasis>récupérables</emphasis> via la hiérarchie de classes
<exceptionname>Exception</exceptionname>.
<exceptionname>Exception</exceptionname>. Ces erreurs peuvent être lancées
avec le mot-clé &throw; et attrapées avec le mot-clé &catch;.
</simpara>
</listitem>
<listitem>
Expand All @@ -38,21 +36,18 @@
<simpara>
Une erreur <exceptionname>Throwable</exceptionname> est un événement
d'exécution qui interrompt le flux normal des instructions. Lorsqu'une erreur
<exceptionname>Throwable</exceptionname> est lancée par &throw;, que ce soit
par le moteur ou manuellement, elle dépile la pile d'appels jusqu'à être
attrapée par un bloc &catch; ou jusqu'à atteindre la portée globale, auquel
cas le programme se termine avec une erreur fatale.
<exceptionname>Throwable</exceptionname> est lancée par &throw;, elle dépile
la pile d'appels jusqu'à être attrapée par un bloc &catch; ou jusqu'à
atteindre la portée globale.
Tous les blocs &finally; rencontrés en chemin sont exécutés.
Une erreur <exceptionname>Throwable</exceptionname> non attrapée est transmise
au gestionnaire d'exceptions défini avec
<function>set_exception_handler</function>, s'il y en a un ; sinon, le
programme se termine avec une erreur fatale.
</simpara>
<simpara>
Pour lancer une erreur <exceptionname>Throwable</exceptionname> depuis du
code PHP, il faut utiliser le mot-clé &throw; suivi d'une instance de la
classe <exceptionname>Error</exceptionname> ou
<exceptionname>Exception</exceptionname>, ou d'une sous-classe de l'une
d'elles.
Tenter de lancer un objet qui n'est pas de ce type lève une erreur
<exceptionname>Error</exceptionname> avec le message suivant :
<literal>Cannot throw objects that do not implement Throwable</literal>.
code PHP, utilisez le mot-clé &throw;.
</simpara>
<tip>
<simpara>
Expand All @@ -67,24 +62,18 @@
Il est possible de traiter une erreur <exceptionname>Throwable</exceptionname>
dans PHP en entourant le code susceptible de lancer une erreur d'un bloc
&try;.
Un bloc &try; doit avoir au moins un bloc &catch; ou &finally; correspondant.
</simpara>
<note>
<simpara>
Il n'est <emphasis>pas</emphasis> recommandé d'attraper les objets
<exceptionname>Error</exceptionname>, car ils signalent une erreur de
programmation.
</simpara>
</note>
<warning>
<simpara>
Les objets <exceptionname>Throwable</exceptionname> ne peuvent pas être
clonés. Tenter de <link linkend="language.oop5.cloning">cloner</link> un tel
objet lance une erreur <exceptionname>Error</exceptionname> avec le message
suivant :
<literal>Trying to clone an uncloneable object of class Exception</literal>.
<literal>Trying to clone an uncloneable object of class <replaceable>ClassName</replaceable></literal>.
Cela se produit même si une sous-classe déclare sa propre méthode
<link linkend="object.clone">__clone()</link>.
Voir <methodname>Exception::__clone</methodname> et
<methodname>Error::__clone</methodname>.
</simpara>
</warning>

Expand Down
16 changes: 11 additions & 5 deletions language/operators/increment.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: cf7dcffba0ab8ce14dbfd6019f2861f5a6843ed5 Maintainer: yannick Status: ready -->
<!-- EN-Revision: 4bf52f20bcb7f0f7dee5e8e1f6e8afc7126f06ce Maintainer: yannick Status: ready -->
<sect1 xml:id="language.operators.increment">
<title>Opérateurs d'incrémentation et décrémentation</title>
<titleabbrev>Incrémentation et décrémentation</titleabbrev>
Expand Down Expand Up @@ -107,12 +107,13 @@ int(4)
Un <constant>E_WARNING</constant> est émis à partir de PHP 8.3.0,
car cela convertira implicitement la valeur en <type>int</type> à l'avenir.
</para>
<para>
<simpara>
L'opérateur de décrémentation n'a aucun effet sur les
<link linkend="language.types.numeric-strings">chaînes non numériques</link>.
Un <constant>E_WARNING</constant> est émis à partir de PHP 8.3.0,
<link linkend="language.types.numeric-strings">chaînes non numériques</link>,
à l'exception de la chaîne vide, qui devient <literal>-1</literal>.
Un <constant>E_DEPRECATED</constant> est émis à partir de PHP 8.3.0,
car une <classname>TypeError</classname> sera levée à l'avenir.
</para>
</simpara>
</warning>
<note>
<para>
Expand Down Expand Up @@ -143,6 +144,11 @@ int(4)
Par exemple, <code>$a = 'Z'; $a++;</code> transforme <varname>$a</varname>
en <literal>'AA'</literal>.
</para>
<simpara>
À partir de PHP 8.3.0, incrémenter une chaîne vide ou non alphanumérique
émet <constant>E_DEPRECATED</constant>.
À partir de PHP 8.5.0, cela s'applique à toutes les chaînes non numériques.
</simpara>

<example>
<title>Exemple d'incrémentation de chaîne PERL</title>
Expand Down
27 changes: 19 additions & 8 deletions language/predefined/error/clone.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 09c49da6f0167fcdfe53a76e3ea28ecfc0eb337b Maintainer: girgias Status: ready -->
<!-- Reviewed: no -->
<!-- EN-Revision: 6b099f8dcc7a8f4a6863a6149d7cd97c7f43c470 Maintainer: girgias Status: ready -->
<refentry xml:id="error.clone" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Error::__clone</refname>
Expand All @@ -13,9 +12,19 @@
<modifier>private</modifier> <type>void</type><methodname>Error::__clone</methodname>
<void/>
</methodsynopsis>
<para>
Une erreur ne peut pas être clonée, cette méthode produit donc une erreur fatale.
</para>
<simpara>
Les erreurs ne prennent pas en charge le clonage ; cette méthode existe
uniquement pour l'empêcher.
</simpara>
<warning>
<simpara>
Les erreurs ne peuvent pas être clonées, qu'il s'agisse d'instances de
<exceptionname>Error</exceptionname> ou d'une sous-classe.
Tenter de <link linkend="language.oop5.cloning">cloner</link> une
erreur lève une <exceptionname>Error</exceptionname>, qui peut être
interceptée.
</simpara>
</warning>
</refsect1>

<refsect1 role="parameters">
Expand All @@ -32,9 +41,11 @@

<refsect1 role="errors">
&reftitle.errors;
<para>
Les erreurs <emphasis>ne sont pas</emphasis> clonables.
</para>
<simpara>
Tenter de cloner une erreur lève une <exceptionname>Error</exceptionname>
avec le message suivant :
<literal>Trying to clone an uncloneable object of class <replaceable>ClassName</replaceable></literal>.
</simpara>
</refsect1>

<refsect1 role="changelog">
Expand Down
10 changes: 6 additions & 4 deletions language/predefined/exception/clone.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 62562234f18ac091ecd1fb648ac0d56172c74a1a Maintainer: yannick Status: ready -->
<!-- EN-Revision: 6b099f8dcc7a8f4a6863a6149d7cd97c7f43c470 Maintainer: yannick Status: ready -->
<refentry xml:id="exception.clone" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Exception::__clone</refname>
Expand Down Expand Up @@ -41,9 +41,11 @@

<refsect1 role="errors">
&reftitle.errors;
<para>
Les exceptions ne sont <emphasis>pas</emphasis> clonables.
</para>
<simpara>
Tenter de cloner une exception lève une <exceptionname>Error</exceptionname>
avec le message suivant :
<literal>Trying to clone an uncloneable object of class <replaceable>ClassName</replaceable></literal>.
</simpara>
</refsect1>

<refsect1 role="changelog">
Expand Down
22 changes: 21 additions & 1 deletion reference/curl/constants_curl_setopt.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 5cdc4c99779c1bd1b770b15a5fc6438b39223c28 Maintainer: lacatoire Status: ready -->
<!-- EN-Revision: d4a33d889b8db025b5e00c2defc167eb3e7de4bc Maintainer: lacatoire Status: ready -->
<variablelist role="constant_list">
<title><function>curl_setopt</function></title>
<varlistentry xml:id="constant.curlopt-abstract-unix-socket">
Expand Down Expand Up @@ -810,6 +810,13 @@
est activé.
Disponible à partir de cURL 7.1.0.
</para>
<simpara>
À partir de PHP 8.5.0, la valeur est traitée comme un entier.
<constant>CURLFOLLOW_ALL</constant> équivaut à définir cette option sur &true;.
<constant>CURLFOLLOW_OBEYCODE</constant> suit les redirections de manière plus stricte
quant aux codes de redirection autorisés.
<constant>CURLFOLLOW_FIRSTONLY</constant> ne suit que la première redirection.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.curlopt-forbid-reuse">
Expand Down Expand Up @@ -3790,6 +3797,19 @@
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.curlopt-ssl-signature-algorithms">
<term>
<constant>CURLOPT_SSL_SIGNATURE_ALGORITHMS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Une liste d'algorithmes de signature, séparés par des deux-points, à utiliser pour
l'authentification TLS.
Disponible à partir de PHP 8.5.0 et cURL 7.89.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.curlopt-stderr">
<term>
<constant>CURLOPT_STDERR</constant>
Expand Down
31 changes: 28 additions & 3 deletions reference/curl/curlsharepersistenthandle.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 01d19a544891db839e36de8316e78f81de56c1ca Maintainer: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<!-- EN-Revision: d4a33d889b8db025b5e00c2defc167eb3e7de4bc Maintainer: Fan2Shrek Status: ready -->
<reference xml:id="class.curlsharepersistenthandle" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>La classe CurlSharePersistentHandle</title>
<titleabbrev>CurlSharePersistentHandle</titleabbrev>
Expand All @@ -11,7 +10,11 @@
<section xml:id="curlsharepersistenthandle.intro">
&reftitle.intro;
<simpara>
Représente un gestionnaire cURL "share" persistant.
Représente un gestionnaire cURL "share" persistant, créé par
<function>curl_share_init_persistent</function>.
Contrairement à <classname>CurlShareHandle</classname> (créé avec
<function>curl_share_init</function>), ce gestionnaire persiste entre les requêtes.
Utilisez <function>curl_share_setopt</function> pour configurer les données partagées.
</simpara>
</section>
<!-- }}} -->
Expand Down Expand Up @@ -53,6 +56,28 @@
<!-- }}} -->


<section role="changelog" xml:id="curlsharepersistenthandle.changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.5.0</entry>
<entry>
La classe a été ajoutée.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>

</partintro>

<!-- &reference.curl.entities.curlsharepersistenthandle; -->
Expand Down
Loading
Loading