Services webmasters
Partenaires
Jeux concours gratuits
 
Constantes prédefinies
<<<
Exemples Java Servlet SAPI
>>>

7.46 Java
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
->Exemples
Java Servlet SAPI
java_last_exception_clear
java_last_exception_get

7.46.7 Exemples

Exemple avec Java

<?php
  
// créer une instance de la classe Java java.lang.System dans PHP
  
$system = new Java('java.lang.System');

  
// accède aux propriétés
  
print 'Java version='.$system->getProperty('java.version').' <br>';
  print
'Java vendor=' .$system->getProperty('java.vendor').' <br>';
  print
'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");

  print
$formatter->format(new Java('java.util.Date'));
?>
Exemple AWT

<?php
// Cet exemple ne fonctionne qu'en mode CGI.

  
$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();
?>
Notes:

  • new Java() 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.
  • 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, " print $date.time " sera d'abord résolu par " $date.getTime() ", puis par " $date.time ";
  • Les membres statiques et d'instance sont accessibles avec la même syntaxe. De plus, si un objet est de type " java.lang.Class ", les membres statiques de la classe (champs et méthodes) sont accessibles.
  • 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 > . Les fonctions suivantes peuvent être utilisées pour lire et effacer la dernière erreur remontée :
  • Les surchargements de fonctions sont des problèmes épineux, étant donné les différences de type de valeurs entre les deux langages. L'extension Java de PHP utilise une métrique simple mais efficace pour déterminer la meilleur fonction à utiliser.

    De plus, les noms de méthodes ne sont pas sensibles à la casse en PHP, ce qui augmente le nombre de conflits potentiels.

    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).

  • 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.

<< Exemples >>
Constantes prédefinies Java Java Servlet SAPI
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -