Funktionsreferenz
PHP Manual

Java

Es gibt zwei Wege, um die Welten von Java und PHP zu verbinden. Einerseits besteht die Möglichkeit PHP in eine Java Servlet Umgebung zu integrieren, andererseits kann man mit der Java Extension aus PHP heraus auf Java Klassen zugreifen. Die erste der beiden genannten Möglichkeit ist wesentlich stabiler und performanter als die zweitgenannte Lösung.

Die Java Erweiterung für PHP nutzt das Object Overloading von PHP 4 um auf Java Klassen zuzugreifen. Die Java Virtual Machine (JVM) wird hierbei über das Java Native Interface (JNI) erzeugt. Eine detaillierte Installationsbeschreibung entnehmen Sie bitte der Datei php4/ext/java/README.

Example#1 Zugriff auf Java Klassen aus PHP heraus

<?php
  
// In PHP Instanz der Java Klasse java.lang.System erzeugen
  
$system = new Java('java.lang.System');

  
// Zugriff auf die Objekteigenschaften
  
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>';

  
// java.util.Date Beispiel
  
$formatter = new Java('java.text.SimpleDateFormat',
                        
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

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

Example#2 Zugriff auf Java AWT aus PHP heraus

<?php
  
// Dieses Beispiel kann nur als CGI ausgeführt werden.

  
$frame  = new Java('java.awt.Frame''PHP');
  
$button = new Java('java.awt.Button''Hallo Java Welt!');

  
$frame->add('North'$button);
  
$frame->validate();
  
$frame->pack();
  
$frame->visible True;

  
$thread = new Java('java.lang.Thread');
  
$thread->sleep(10000);

  
$frame->dispose();
?>
Notes:

Das PHP 4 Servlet SAPI Modul baut auf dem von der Java Extension zur Verfügung gestellten Mechanismus auf, allerdings wird der PHP Prozessor hierbei von einer Servlet Engine, wie zum Beispiel Apache Jakarta / Tomcat, ausgeführt. Dies führt zu einer wesentlich höheren Stabilität und besserer Performance als der umgekehrte Weg, wie in die Java Extension an sich anbietet. Dies kommt daher, dass die Servlet Engine sich um das Pooling und die Wiederverwendung von Java Virtual Machines (JVMs) kümmert. Eine detaillierte Anleitung zur Integration von PHP in eine Servlet Engine entnehmen Sie bitte der Datei php4/sapi/README. Bemerkungen:

Inhaltsverzeichnis


Funktionsreferenz
PHP Manual