diff --git a/reference/url/functions/http-build-query.xml b/reference/url/functions/http-build-query.xml index 2d49940c55..6ac43e2e5e 100644 --- a/reference/url/functions/http-build-query.xml +++ b/reference/url/functions/http-build-query.xml @@ -1,5 +1,5 @@ - + @@ -40,6 +40,14 @@ Si data est un objet, alors seuls les attributs publics seront utilisés dans le résultat. + + + La méthode magique __toString() + n'est pas appelée lorsqu'un objet est évalué. Pour utiliser la + représentation sous forme de chaîne d'un objet dans la chaîne de requête, + l'objet doit être explicitement converti en chaîne. + + @@ -265,6 +273,44 @@ echo http_build_query($parent); + + + + + Utilisation de <function>http_build_query</function> avec des objets contenant + <link linkend="object.tostring">__toString()</link> + + + 'b', + 'foo' => new Foo() +); + +// Sans conversion, http_build_query lit les propriétés publiques +echo http_build_query($params) . "\n"; + +// Avec une conversion explicite, http_build_query utilise la sortie de __toString() +$params['foo'] = (string) new Foo(); +echo http_build_query($params) . "\n"; +?> +]]> + + &example.outputs; + +