goba Mon Jul 22 09:40:12 2002 EDT
Modified files:
/phpdoc/en/reference/java reference.xml
/phpdoc/en/reference rsusi.txt
Log:
New structure applied to java extension docs, and added some more
info to it (short installation and cofiguration info).
Index: phpdoc/en/reference/java/reference.xml
diff -u phpdoc/en/reference/java/reference.xml:1.2
phpdoc/en/reference/java/reference.xml:1.3
--- phpdoc/en/reference/java/reference.xml:1.2 Mon Apr 15 14:56:42 2002
+++ phpdoc/en/reference/java/reference.xml Mon Jul 22 09:40:12 2002
@@ -1,25 +1,67 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
<reference id="ref.java">
- <title>Java</title>
- <titleabbrev>PHP / Java Integration</titleabbrev>
+ <title>PHP / Java Integration</title>
+ <titleabbrev>Java</titleabbrev>
<partintro>
- <para>
- There are two possible ways to bridge PHP and Java: you can either
- integrate PHP into a Java Servlet environment, which is the more
- stable and efficient solution, or integrate Java support into PHP.
- The former is provided by a SAPI module that interfaces with the
- Servlet server, the latter by the Java extension.
- </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 <filename>php4/ext/java/README</filename>.
-
- <example>
- <title>Java Example</title>
- <programlisting role="php">
+
+ <section id="java.intro">
+ &reftitle.intro;
+ <para>
+ There are two possible ways to bridge PHP and Java: you can either
+ <link linkend="java.servlet">integrate PHP into a Java Servlet
+ environment</link>, which is the more stable and efficient solution,
+ or integrate Java support into PHP. The former is provided by a SAPI
+ module that interfaces with the Servlet server, the latter by this
+ Java extension.
+ </para>
+ <para>
+ The Java extension 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.
+ </para>
+ </section>
+
+ <section id="java.requirements">
+ &reftitle.required;
+ <para>
+ You need a Java VM installed on your machine to use this extension.
+ </para>
+ </section>
+
+ <section id="java.installation">
+ &reftitle.install;
+ <para>
+ Build instructions for this extension can be found in
+ <filename>php4/ext/java/README</filename>.
+ </para>
+ </section>
+
+ <section id="java.configuration">
+ &reftitle.runtime;
+ <para>
+ The &php.ini; settings involved in configuring the Java
+ extension are <literal>java.library.path</literal> and
+ <literal>java.class.path</literal>.
+ </para>
+ </section>
+
+ <section id="java.resources">
+ &reftitle.resources;
+ &no.resource;
+ </section>
+
+ <section id="java.constants">
+ &reftitle.constants;
+ &no.constants;
+ </section>
+
+ <section id="java.examples">
+ &reftitle.examples;
+ <para>
+ <example>
+ <title>Java Example</title>
+ <programlisting role="php">
<![CDATA[
<?php
// get instance of Java class java.lang.System in PHP
@@ -27,7 +69,7 @@
// demonstrate property access
print 'Java version='.$system->getProperty('java.version').' <br>';
- print 'Java vendor=' .$system->getProperty('java.vendor').' <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>';
@@ -39,11 +81,11 @@
print $formatter->format(new Java('java.util.Date'));
?>
]]>
- </programlisting>
- </example>
- <example>
- <title>AWT Example</title>
- <programlisting role="php">
+ </programlisting>
+ </example>
+ <example>
+ <title>AWT Example</title>
+ <programlisting role="php">
<![CDATA[
<?php
// This example is only intented to be run as a CGI.
@@ -62,110 +104,114 @@
$frame->dispose();
?>
]]>
- </programlisting>
- </example>
+ </programlisting>
+ </example>
- Notes:
+ Notes:
- <itemizedlist>
- <listitem>
- <simpara>
- <literal>new Java()</literal> 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 <literal>java.lang.System</literal> which expose most of their
- functionallity through static methods.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- Accessing a member of an instance will first look for bean properties
- then public fields. In other words, <literal>print $date.time</literal>
- will first attempt to be resolved as <literal>$date.getTime()</literal>,
- then as <literal>$date.time</literal>.
- </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
- <literal>java.lang.Class</literal>, then static members of the class
- (fields and methods) can be accessed.
- </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:
-
- <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>
- 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.
- </simpara>
- <simpara>
- Additionally, method names in PHP are not case sensitive, potentially
- increasing the number of overloads to select from.
- </simpara>
- <simpara>
- 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).
- <!-- FIXME Why aren't java-doubles converted to PHP-floats? Is this
- correct? -->
- </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.
- </simpara>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- 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
- <filename>php4/sapi/README</filename>.
-
- Notes:
-
- <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.
- </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.
- </simpara>
- </listitem>
- </itemizedlist>
- </para>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <literal>new Java()</literal> 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 <literal>java.lang.System</literal> which expose most of their
+ functionallity through static methods.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Accessing a member of an instance will first look for bean properties
+ then public fields. In other words, <literal>print $date.time</literal>
+ will first attempt to be resolved as <literal>$date.getTime()</literal>,
+ then as <literal>$date.time</literal>.
+ </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
+ <literal>java.lang.Class</literal>, then static members of the class
+ (fields and methods) can be accessed.
+ </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:
+ <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>
+ 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.
+ </simpara>
+ <simpara>
+ Additionally, method names in PHP are not case sensitive, potentially
+ increasing the number of overloads to select from.
+ </simpara>
+ <simpara>
+ 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).
+ <!-- FIXME Why aren't java-doubles converted to PHP-floats? Is this
+ correct? -->
+ </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.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id="java.servlet">
+ <title>Java Servlet SAPI</title>
+ <para>
+ The Java Servlet SAPI builds upon the mechanism defined by the Java
+ extension 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
+ <filename>php4/sapi/README</filename>.
+
+ Notes:
+
+ <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.
+ </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.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
</partintro>
&reference.java.functions;
Index: phpdoc/en/reference/rsusi.txt
diff -u phpdoc/en/reference/rsusi.txt:1.12 phpdoc/en/reference/rsusi.txt:1.13
--- phpdoc/en/reference/rsusi.txt:1.12 Mon Jul 22 09:16:54 2002
+++ phpdoc/en/reference/rsusi.txt Mon Jul 22 09:40:12 2002
@@ -65,7 +65,7 @@
info
ingres-ii
ircg
-java !no
+java ++
ldap !no
mail !no
mailparse !no
--
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php