Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Взаимодействие PHP с Java.

Поиск:
Тут повнимательнее покопался с php.ini и обнаружил, вот такую строчку
;extension=php_java.dll, после чего очень удивился, не уж то PHP может работать с кодом Java.
Просмотрев несколько книг, нашел, что да¸PHP замечательно взаимодействует с Java. Что меня очень порадовала, т.к. открывается дополнительная мощь языка Java, и теперь отпадает проблема скрытия кода, что для меня было очень актуальным.

Кому интересно, настроить PHP для взаимодействия с Java, можно следующим образом.
1. Раскомментируем в php.ini строку extension=php_java.dll
2. Добавляем или находим (у меня уже были эти строки в php.ini, только они были замоменированы) следующие строки в php.ini

[Java]
java.class.path = "e:\Maguma Desktop\php\extensions\php_java.jar;e:\myjava\packages\"
java.home = "e:\jdk\bin"
java.library = "e:\jdk\jre\bin\server\jvm.dll"
java.library.path = "e:\Maguma Desktop\php\extensions"

// e:\myjava\packages\ - это туда вы должны помещать свои пакеты разработанные и скомпилированные на Java

3. Делаем restart Apache и используя функцию phpinfo(); видим, что поддержка Java включена

4. Теперь создадим очень простой php файл, который обращается к пакетам Java (пример взят из хелпа PHP, за что большое спасибо, добавлены собственные комментарии). Итак:

Код

<?php
// создаем ссылку на встроенные класс java.lang.System пакета java.lang  (по умолчанию всегда включен в  
Java)
$system = new Java('java.lang.System');

// вызываем методы класса System
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .$system->getProperty('os.version') . ' on '  
.$system->getProperty('os.arch') . ' <br />';

// настраиваем формат вывода даты, передавая в конструктор класса SimpleDateFormat параметры
$formatter = new Java('java.text.SimpleDateFormat',"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
echo "<br /> Это работает? Как не странно работает... :--))";
?>

сохраняем в файле phpplusjava.php
в результате вызвав этот php файл в окне браузера должно отобразиться примерно следующее:

Код

Java version=1.3.1
Java vendor=Sun Microsystems Inc.
OS=Windows 2000 5.1 on x86
вторник, Декабрь 28, 2004 at 4:37:39 PM Greenwich Mean Time
Это работает? Как не странно работает... :--))

5. Теперь разработает свой очень простой класс и свяжем с PHP

Код

public class Sum {

 public String sumString(double x, double y)
 {
   double addsum = x + y;
   String str = "Sum is  " + addsum;
   return str;
 }
}


сохраняем в папке e:\myjava\packages и называем Sum.java,
далее запускаем cmd, компилируем javac sum.jsva
в результате получаем байт-код в виде Sum.class (с которым в последствии и работает, при этом код скрыт, если даже Apache по какой-либо причине сглючит).

Далее создаем фаул, под названием javatest.php в котором пишем следующее

Код

<?
  $sum = new Java("Sum");
  $value1 = 10;
  $value2 = 11;

  echo $sum->sumString($value1, $value2);
  echo '<br \>И это тоже работает :-)) ';
?>

в результате вызвав этот php файл в окне браузера должно отобразиться примерно следующее:

Код

Sum is 21.0
И это тоже работает :-))


Да уж, вроде все, принцип показал. Спасибо кто это ещё читает. :)

Поскольку я немного удивлен, такой поддержкой со стороны PHP, мой вопрос заключается в следующем, может PHP взаимодействует не только с Java?

Всем спасибо.
Автор: Наставник






Просмотров: 10323

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную