Вызов Java (или python или perl) из PHP-скрипта


Я пытался создать простое прототипное приложение в Django и, к сожалению, достигаю точки отказа, так как это слишком сложно (я знаю, что в долгосрочной перспективе это того стоило бы, но у меня действительно просто недостаточно времени - мне нужно что-то запустить и запустить через несколько дней). Итак, теперь я подумываю о том, чтобы вместо этого использовать PHP, так как это метод создания динамического веб-контента, с которым я больше всего знаком, и я знаю, что могу быстро заставить что-то работать.

Мой приложение, хотя и простое, вероятно, будет выполнять некоторые достаточно сложные задачи в области искусственного интеллекта, и может оказаться, что библиотек для того, что мне нужно в PHP, не существует. Поэтому мне интересно, насколько легко/возможно для PHP-скрипта "вызвать" программу Java или скрипт Python или программу или скрипт на другом языке. Мне не совсем ясно, что именно я подразумеваю под "вызовом" в этом контексте, но я думаю, что, вероятно, имею в виду, что в идеале я хотел бы определить функцию, скажем, в Java, а затем иметь возможность вызывать ее из PHP. Если это невозможно, то я думаю, что мой лучший выбор (при условии, что я использую PHP) будет заключаться в том, чтобы передать управление непосредственно внешней программе явно через СООБЩЕНИЕ или ПЕРЕЙТИ к программе CGI или аналогичной.

Не стесняйтесь убеждать меня, что я должен придерживаться Django, хотя я действительно нахожусь в том состоянии, когда я просто не могу понять, какая модель мне нужна для создания нужной мне HTML-формы, которая кажется такой простой, что я боюсь за свои шансы сделать что-то большее сложный...

В качестве альтернативы, любой, кто может предложить какие-либо советы по связыванию PHP и других языков, будет признателен.

Author: Ben, 2008-11-18

2 answers

"где я просто не могу понять, какая модель мне нужна для создания нужной мне HTML-формы, которая кажется такой простой вещью, что я боюсь за свои шансы сделать что-то более сложное"

Распространенная проблема.

Основная причина: Слишком много программирования.

Решение. Занимайтесь меньше программированием. Серьезно.

Определите модель Django. Используйте страницы администратора по умолчанию, чтобы проверить, правильно ли это. Исправьте модель. Создайте базу данных заново. Посмотрите на страницы администратора по умолчанию. Повторяйте до тех пор, пока страницы администратора по умолчанию работают правильно и просто.

Как только это будет правильно на страницах администратора по умолчанию, у вас будет модель, которая работает. Это можно проверить. И автоматическое оборудование подключено правильно. Выбор определен правильно. Вычисления выполняются в модельных мметодах. Запросы работают. Теперь вы можете приступить к работе над другими представлениями данных.

Django обычно начинается (и заканчивается) с модели. Формы, представление и шаблоны являются производными от модели.

 4
Author: S.Lott, 2008-11-18 20:31:06

Для легкого доступа к классам Java из PHP-скриптов вы можете использовать мост php-java.

Существует решение с открытым исходным кодом: http://php-java-bridge.sourceforge.net/pjb /
или решение от Zend (http://www.zend.com/en/products/platform/product-comparison/java-bridge).

Я больше знаком с более поздней версией, и она очень проста и интуитивно понятна в использовании.

 2
Author: user27987, 2008-11-18 20:01:46