mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-26 18:02:17 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@260190 c90b9560-bf6c-de11-be94-00142212c4b1
149 lines
5.0 KiB
XML
149 lines
5.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision: 1.4 $ -->
|
|
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
|
|
<chapter xml:id="java.examples" xmlns="http://docbook.org/ns/docbook">
|
|
&reftitle.examples;
|
|
<section xml:id="java.examples-basic">
|
|
<para>
|
|
<example>
|
|
<title>Exemple avec Java</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Créer une instance de la classe Java java.lang.System dans PHP
|
|
$system = new Java('java.lang.System');
|
|
|
|
// Accéder aux propriétés
|
|
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
|
|
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
|
|
echo 'OS=' . $system->getProperty('os.name') . ' ' .
|
|
$system->getProperty('os.version') . ' on ' .
|
|
$system->getProperty('os.arch') . ' <br />';
|
|
|
|
// Exemple avec java.util.Date
|
|
$formatter = new Java('java.text.SimpleDateFormat',
|
|
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
|
|
|
|
echo $formatter->format(new Java('java.util.Date'));
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
<example>
|
|
<title>Exemple avec AWT</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// Cet exemple ne fonctionne qu'en mode CLI.
|
|
|
|
$frame = new Java('java.awt.Frame', 'PHP');
|
|
$button = new Java('java.awt.Button', 'Hello Java World!');
|
|
|
|
$frame->add('North', $button);
|
|
$frame->validate();
|
|
$frame->pack();
|
|
$frame->visible = True;
|
|
|
|
$thread = new Java('java.lang.Thread');
|
|
$thread->sleep(10000);
|
|
|
|
$frame->dispose();
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
Notes :
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
<literal>new Java()</literal> crée une nouvelle instance d'une classe,
|
|
si un constructeur valable est disponible. Si aucun paramètre n'est passé,
|
|
et le constructeur par défaut est utile pour accéder à ces classes
|
|
telles que "java.lang.System", qui fournissent leur fonctionnalités via
|
|
des méthodes statiques.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Lors de l'accès aux membres d'une instance, &php; commencera par rechercher
|
|
les membres Bean, puis les champs publics. En d'autres termes,
|
|
"<literal>print $date.time</literal>" sera d'abord résolu par
|
|
"<literal>$date.getTime()</literal>", puis par "<literal>$date.time</literal>";
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Les membres statiques et d'instance sont accessibles avec la même
|
|
syntaxe. De plus, si un objet est de type "<literal>java.lang.Class</literal>",
|
|
les membres statiques de la classe (champs et méthodes) sont accessibles.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Les exceptions sont transformées en alertes &php;, et résultat NULL.
|
|
Les alertes peuvent être supprimées en préfixant l'appel
|
|
par l'opérateur <literal>></literal>. Les fonctions suivantes
|
|
peuvent être utilisées pour lire et effacer la dernière
|
|
erreur remontée :
|
|
<itemizedlist>
|
|
<listitem><simpara><function>java_last_exception_get</function></simpara></listitem>
|
|
<listitem><simpara><function>java_last_exception_clear</function></simpara></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Les surcharges de fonctions sont des problèmes épineux,
|
|
étant données les différences de type de valeurs entre les deux
|
|
<literal>/bin/bash: q: command not found</literal>
|
|
mais efficace pour déterminer la meilleur fonction à utiliser.
|
|
</simpara>
|
|
<simpara>
|
|
De plus, les noms de méthodes ne sont pas sensibles à la casse en
|
|
&php;, ce qui augmente le nombre de conflits potentiels.
|
|
</simpara>
|
|
<simpara>
|
|
Une fois qu'une méthode est sélectionnée, les paramètres sont
|
|
transtypés, avec une perte d'information potentielle non négligeable
|
|
(par exemple, les nombres à virgules flottante en double précisions
|
|
seront convertis en booléen).
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Traditionnellement en &php;, les tableaux et les tables de hashage peuvent
|
|
être interchangées, et fonctionnent de la même façon.
|
|
Notez que les tables de hashage de &php; ne peuvent être indexées
|
|
qu'avec des entiers ou des chaînes, et que le type primitif de
|
|
tableau de Java ne peut comporter de trous dans les index. Notez aussi
|
|
que les valeurs sont passées par
|
|
valeur, ce qui peut être coûteux en mémoire et en temps.
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</section>
|
|
</chapter>
|
|
|
|
<!-- 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:"../../../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
|
|
--> |