Интеграция PHP и Java в коде - PullRequest
       2

Интеграция PHP и Java в коде

1 голос
/ 09 сентября 2011

У меня есть сайт на основе PHP 5, который мне нужен для интеграции с целым рядом классов Java, которые я создал. По сути, я создал веб-сервис для публикации XML в файл, после этого я анализирую XML и хочу вызывать методы в файле Java.

Я понятия не имею, как вызывать Java-функции из PHP. Я посмотрел на мост PHP / Java, но там нет ничего, что четко описывает, как это настроить.

Любая помощь будет принята с благодарностью,

Спасибо

Ответы [ 3 ]

1 голос
/ 09 сентября 2011

Вы должны рассмотреть php-java-bridge .Я использовал его в прошлом в проекте с PHP-интерфейсом и Java-бэкэндом.

Цитирование с их сайта:

PHP / Java Bridge - это реализация потокового сетевого протокола на основе XML, который можно использовать для подключения собственного механизма сценариев, дляпример PHP, Scheme или Python, с виртуальной машиной Java.Это до 50 раз быстрее, чем локальный RPC через SOAP, требует меньше ресурсов на стороне веб-сервера.Это быстрее и надежнее, чем прямая связь через собственный интерфейс Java, и не требует дополнительных компонентов для вызова процедур Java из PHP или процедур PHP из Java.

Редактировать: я объяснил недостатки использования Quercus в другом SO ответе

0 голосов
/ 11 июля 2012

Я не уверен, как структурированный воспламенитель кода выполняет свой код, но я только что нашел другой вопрос, похожий на этот вопрос: Запуск файла класса Java из сценария PHP на веб-сайте

0 голосов
/ 09 сентября 2011

Вы можете использовать что-то вроде Thrift , Буферы протокола Google или Avro для создания интерфейса и передачи сообщений между двумя языками.Это похоже на то, что Facebook делает для связи между своим PHP и другим кодом.

Взяв в качестве примера протобуферы Google, вы создадите файл .proto, который определяет некоторую структуру.Затем вы запускаете протокомпилятор для этого файла .proto, и он генерирует соответствующие классы PHP и Java, которые могут передаваться между двумя языками через некоторый промежуточный программный мост.

Avro и Thrift предоставляют способы создания клиентов исерверы, которые могут общаться друг с другом, где, как я полагаю, вы самостоятельно используете протобуферы.

Ниже приведено руководство по настройке Thrift-клиента в PHP: http://chanian.com/2010/05/13/thrift-tutorial-a-php-client/

ИзЛучшая идея состоит в том, чтобы воспользоваться реализацией PHP, которая запускает ON JVM , и тогда у вас будет прямой доступ ко всем библиотекам Java.Вы сможете вызывать объекты Java, как если бы они были простыми старыми объектами PHP .Динамические языки, размещенные на JVM, также становятся очень быстрыми, особенно с JDK 7. Quercus (реализация PHP, которая работает на JVM), как было показано, на быстрее (В 4 раза быстрее!) , чем основной интерпретатор PHP.

Кроме того, если вы используете PHP на JVM, вы можете создавать потоки и ставить в очередь фоновую работу ... и все другие новые библиотеки, к которым у вас будет доступ ... это огромный выигрышпереключиться на Quercus.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...