sbergmann Fri Jul 20 03:30:43 2001 EDT
Modified files:
/phpdoc/de/functions java.xml
Log:
Forgot to commit my translation of java.xml I made on the train from LinuxTag back
home.
Index: phpdoc/de/functions/java.xml
diff -u phpdoc/de/functions/java.xml:1.1 phpdoc/de/functions/java.xml:1.2
--- phpdoc/de/functions/java.xml:1.1 Sat Jul 7 19:08:27 2001
+++ phpdoc/de/functions/java.xml Fri Jul 20 03:30:42 2001
@@ -3,57 +3,55 @@
<titleabbrev>PHP / Java Integration</titleabbrev>
<partintro>
<para>
-
-
- There are two possible ways to bridge PHP and Java: you can either
- integrate Java into PHP, which is the more stable and efficient
- solution, or integrate PHP into a Java Servlet environment.
- The former is provided by ext/java, the latter by a SAPI module that
- interfaces with the Servlet server.
+ 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.
</para>
<para>
- PHP 4 ext/java provides a simple and effective means for creating and
- invoking methods on Java objects from PHP. The JVM is created using JNI,
- and everything runs in-process. Build instructions for ext/java can be
- found in php4/ext/java/README.
-
+ 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
+ <filename>php4/ext/java/README</filename>.
<example>
- <title>Java Example</title>
+ <title>Zugriff auf Java Klassen aus PHP heraus</title>
<programlisting role="php">
<?php
- // get instance of Java class java.lang.System in PHP
- $system = new Java("java.lang.System");
+ // In PHP Instanz der Java Klasse java.lang.System erzeugen
+ $system = new Java('java.lang.System');
- // demonstrate property access
- 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>";
+ // 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 example
- $formatter = new Java("java.text.SimpleDateFormat",
+ // 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"));
+ print $formatter->format(new Java('java.util.Date'));
?>
</programlisting>
</example>
<example>
- <title>AWT Example</title>
+ <title>Zugriff auf Java AWT aus PHP heraus</title>
<programlisting role="php">
<?php
- // This example is only intented to be run as a CGI.
+ // Dieses Beispiel kann nur als CGI ausgef�hrt werden.
- $frame = new Java("java.awt.Frame", "Zend");
- $button = new Java("java.awt.Button", "Hello Java world!");
+ $frame = new Java('java.awt.Frame', 'PHP');
+ $button = new Java('java.awt.Button', 'Hallo Java Welt!');
- $frame->add("North", $button);
+ $frame->add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;
- $thread = new Java("java.lang.Thread");
+ $thread = new Java('java.lang.Thread');
$thread->sleep(10000);
$frame->dispose();
@@ -66,33 +64,32 @@
<itemizedlist>
<listitem>
<simpara>
- new Java() will create an instance of a class if a suitable constructor
- is available. If no parameters are passed and the default constructor
- is useful as it provides access to classes like "java.lang.System"
- which expose most of their functionallity through static methods.
+ <literal>new Java()</literal> erzeugt eine Instanz der angegebenen Java
+ Klasse, falls ein geeigneter Konstruktur gefunden wird. F�r den Zugriff
+ auf Klassen mit statischen Methoden ben�tigt man keinen Parameter.
</simpara>
</listitem>
<listitem>
<simpara>
- Accessing a member of an instance will first look for bean properties
- then public fields. In other words, "print $date.time" will first
- attempt to be resolved as "$date.getTime()", then as "$date.time";
+ Beim Zugriff auf Mitglieder (Members) einer Instanz wird zun�chst nach
+ Bean Eigenschaften gesucht, danach erst nach �ffentlichen (public)
+ Eigenschaften. Mit anderen Worten: Es wird zuerst versucht werden, zum
+ Beispiel <literal>print $date.time</literal> als
+ <literal>$date.getTime()</literal> zu interpretieren, danach erst wird
+ <literal>$date.time</literal> versucht werden.
</simpara>
</listitem>
<listitem>
<simpara>
- Both static and instance members can be accessed on an object with
- the same syntax. Furthermore, if the java object is of type
- "java.lang.Class", then static members of the class (fields and
- methods) can be accessed.
+ Der Zugriff auf statische und Instanzeigenschaften erfolgt mit der selben
+ Syntax.
</simpara>
</listitem>
<listitem>
<para>
- Exceptions raised result in PHP warnings, and null results. The
- warnings may be eliminated by prefixing the method call with an
- "@" sign. The following APIs may be used to retrieve and reset
- the last error:
+ Das Ausl�sen einer Java Exception resultiert in einer PHP Warnung und
+ einem NULL Ergebnis. Folgende Funktionen erm�glichen den Zugriff auf die
+ eigentlichen Exceptions:
<itemizedlist>
<listitem><simpara><function>java_last_exception_get</function></simpara></listitem>
@@ -102,55 +99,46 @@
</listitem>
<listitem>
<simpara>
- Overload resolution is in general a hard problem given the
- differences in types between the two languages. The PHP Java
- extension employs a simple, but fairly effective, metric for
- determining which overload is the best match.
-
- Additionally, method names in PHP are not case sensitive, potentially
- increasing the number of overloads to select from.
-
- Once a method is selected, the parameters are cooerced if necessary,
- possibly with a loss of data (example: double precision floating point
- numbers will be converted to boolean).
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- In the tradition of PHP, arrays and hashtables may pretty much
- be used interchangably. Note that hashtables in PHP may only be
- indexed by integers or strings; and that arrays of primitive types
- in Java can not be sparse. Also note that these constructs are
- passed by value, so may be expensive in terms of memory and time.
+ Traditionell k�nnen Arrays und Hashes in PHP weitestgehend als
+ gleichwertig angesehen werden. Beim Austausch dieser Datentypen zwischen
+ PHP und Java ist zu beachten, dass Hashes in PHP nur mit Integer- und
+ Stringwerten indiziert werden k�nnen und Arrays von primitiven Datentypen
+ in Java nicht d�nn besetzt sein d�rfen. Ferner ist zu beachten, dass
+ diese Datenstrukturen by-Value �bergeben werden, was ung�nstig in Bezug
+ auf Speicher- und Zeitbedarf sein kann.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
- PHP4 sapi/servlet builds upon the mechanism defined by ext/java to enable
- the entire PHP processor to be run as a servlet. The primary advanatage
- of this from a PHP perspective is that web servers which support servlets
- typically take great care in pooling and reusing JVMs. Build instructions
- for the Servlet SAPI module can be found in php4/sapi/README.
+ 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 <filename>php4/sapi/README</filename>.
- Notes:
+ Bemerkungen:
<itemizedlist>
<listitem>
<simpara>
- While this code is intended to be able to run on any servlet engine,
- it has only been tested on Apache's Jakarta/tomcat to date. Bug
- reports, success stories and/or patches required to get this code
- to run on other engines would be appreciated.
+ Das Servlet SAPI Modul sollte zwar auf jeder Java Servlet Engine
+ funktionieren, wurde aber bislang nur in Verbindung mit Apache
+ Jakarta/Tomcat getestet. Meldungen von Problem - aber auch von
+ Erfolgserlebnissen - bei der Verendung mit anderen Servlet Engines werden
+ dankbar aufgenommen.
</simpara>
</listitem>
<listitem>
<simpara>
- PHP has a habit of changing the working directory. sapi/servlet will
- eventually change it back, but while PHP is running the servlet engine
- may not be able to load any classes from the CLASSPATH which are
- specified using a relative directory syntax, or find the work directory
- used for administration and JSP compilation tasks.
+ PHP hat die Angewohnheit das aktuelle Arbeitsverzeichnis (CWD) zu �ndern.
+ sapi/servlet wird versuchen, den alten Zustand wieder herzustellen.
+ W�hrend PHP l�uft kann es sein, dass die Servlet Engine kann Klassen aus
+ dem CLASSPATH finden kann, die �ber relative Pfade angesprochen werden.
</simpara>
</listitem>
</itemizedlist>
@@ -160,10 +148,10 @@
<refentry id="function.java-last-exception-clear">
<refnamediv>
<refname>java_last_exception_clear</refname>
- <refpurpose>Clear last Java exception</refpurpose>
+ <refpurpose>Letzte Java Exception freigeben</refpurpose>
</refnamediv>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>java_last_exception_clear</function></funcdef>
@@ -176,10 +164,10 @@
<refentry id="function.java-last-exception-get">
<refnamediv>
<refname>java_last_exception_get</refname>
- <refpurpose>Get last Java exception</refpurpose>
+ <refpurpose>Letzte Java Exception holen</refpurpose>
</refnamediv>
<refsect1>
- <title>Description</title>
+ <title>Beschreibung</title>
<funcsynopsis>
<funcprototype>
<funcdef>exception <function>java_last_exception_get</function></funcdef>
@@ -187,27 +175,27 @@
</funcprototype>
</funcsynopsis>
<para>
- The following example demonstrates the usage of Java's exception
- handler from within PHP:
+ Das nachstehende Beispiel demonstriert die Verarbeitung von Java Exceptions
+ aus PHP heraus:
<example>
- <title>Java exception handler</title>
+ <title>Verarbeitung von Java Exceptions</title>
<programlisting role="php">
<?php
- $stack = new Java("java.util.Stack");
+ $stack = new Java('java.util.Stack');
$stack->push(1);
- // This should succeed
+ // Sollte funktionieren
$result = $stack->pop();
$ex = java_last_exception_get();
if (!$ex) print "$result\n";
- // This should fail (error suppressed by @)
+ // Sollte nicht funktionieren (Fehler mit @ unterdr�ckt)
$result = @$stack->pop();
$ex = java_last_exception_get();
if ($ex) print $ex->toString();
- // Clear last exception
+ // Exception freigeben
java_last_exception_clear();
?>
</programlisting>