PHP. Руководство по PHP. 2005
PHP / Java IntegrationПред.
LIX. PHP / Java Integration
Введение
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 this Java extension.
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.
Внимание |
Это расширение является
ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, включая имена его функций и относящуюся к нему документацию, может измениться в последующих версиях PHP без уведомления. Используйте это расширение на свой страх и риск. |
Требования
You need a Java VM installed on your machine to use this extension.
Установка
Это расширение PECL
не поставляется вместе с PHP.
В PHP4 исходные файлы этого расширения PECL
могут быть найдены в директории ext/ внутри исходных файлов
PHP или по ссылке PECL выше. In order to use these functions you must compile PHP with Java support by using the --with-java[=DIR] where DIR points to the base install directory of your JDK. This extension can only be built as a shared extension. Additional build extensions can be found in php-src/ext/java/README.
Windows users will enable php_java.dll inside of php.ini in order to use these functions. В PHP4 этот DLL находится в
директории extensions/ внутри директории бинарного
дистрибутива PHP для Windows. Вы можете скачать DLL этого
расширения PECL со страницы -PHP Downloads или -http://snaps.php.net/.
Замечание: In order to enable this module on a Windows environment with PHP <= 4.0.6, you must make jvm.dll available to your systems PATH. No additional DLL is needed for PHP versions > 4.0.6.
-Поведение этих функций зависит от установок в php.ini.
Таблица 1. Java configuration options
Для подробного описания констант
PHP_INI_*, обратитесь к документации функции ini_set().
Данное расширение не определяет никакие типы ресурсов.
Данное расширение не определяет никакие константы.
Пример 2. AWT Example
<?
//This example is only intended to be run as a 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:
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 coerced if necessary, possibly with a loss of data (example: double precision floating point numbers will be converted to boolean).
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 advantage 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.
Notes:
Содержание
java_last_exception_clear -- Clear last Java exception
java_last_exception_get -- Get last Java exception
ircg_whois
java_last_exception_clear
Настройка во время выполнения
Name Default Changeable Changelog
java.class.path NULL PHP_INI_ALL
java.home NULL PHP_INI_ALL
java.library.path NULL PHP_INI_ALL
java.library JAVALIB PHP_INI_ALL
Типы ресурсов
Предопределенные константы
Примеры
Java Servlet SAPI