18.3. Java
В 1999 году Сэм Руби (Sam Ruby) добавил в PHP поддержку Java-объектов. Java - это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystem. Он создавался как независимый от платформы язык. Сейчас язык Java очень популярен, и найти литературу и исходные коды для него не составляет никакого труда. И, вероятно, самый лучший источник информации о Java - это Web-узел проекта Java Apache, расположенный по адресу <http://java.apache.org/>.
Расширение Java создает класс Java. Для создания экземпляра любого класса Java можно воспользоваться оператором new, возвращающим объект, который можно обрабатывать так же, как и любой другой объект PHP. Его свойства и методы соответствуют классу Java.
object Java::Java(string class, ...)
Для того чтобы создать объект Java, необходимо вызвать этот конструктор с именем класса. Если конструктор позволяет задавать аргументы, их необходимо указать после имени класса (листинг 18.6).

| Листинг 18.6. Использование Java_
<?php
/*
** Адаптация примера Сэма Руби
*/
//получить версию Java
$system = new Java("java.lang.System"); print("Версия Java: " .
$system->getProperty("java.version") .
"<br>n");
// распечатать дату в определенном формате $formatter = new Java("java.text.SimpleDateFormat",
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz"); print($formatter->format(new Java("java.util.Date")) .
"<br>n");

java_last_exception_clear()
Функция java_last_exception_clear очищает последнее исключительное событие.
object java_last_exception_get()
Функция java_last_exception_get (листинг 18.7) возвращает объект исключительного события Java для последнего исключительного события. 
Листинг 18.7. Функции java_last_exception_clear, java_last_exception_get

<?php
$a = new Java(,java.lang.String', 'PHP'); //отобразить содержимое String print($a->toString() . "<br>");
// задать возникновение исключительного события $b = $a->substring(5, 6);
//скрыть предупреждение и перехватить исключительное событие
$b = @$a->substring(5, 6);
$e = javaJlastJexceptionJget();
if($e)
{
print("Обнаружено исключительное событие: " . $e->toString() . "<br>");
}
javaJlastJexceptionJclear();
?>