Вызов Java (или Python, или Perl) из PHP-скрипта

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

Мое приложение, хотя и простое, вероятно, будет выполнять некоторые довольно сложные вещи AI, и может оказаться, что библиотеки не существуют для того, что мне нужно в PHP. Поэтому мне интересно, насколько легко / возможно для PHP-скрипта «вызвать» Java-программу или Python-скрипт, или программу или скрипт на другом языке. Мне не совсем понятно, что именно я имею в виду под «вызовом» в этом контексте, но я предполагаю, что, вероятно, имею в виду, что в идеале я хотел бы определить функцию, скажем, в Java, а затем иметь возможность вызывать ее из PHP. Если это невозможно, то я думаю, что лучше всего (при условии, что я использую PHP) будет передать управление напрямую внешней программе через POST или GET в программу CGI или что-то подобное.

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

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

Дай мне понять это. У вас мало времени, чтобы создать прототип через несколько дней, и вы решили изучить новую технологию, чтобы сделать это? Это верно?

S.Lott 19.11.2008 00:03

Ага. Думаю, не лучшая идея. Но я успешно делал это раньше с PHP и с Ruby, и на этот раз Python выглядел как правильный путь. Может, мне нравится жить на грани, а может я просто не очень умен! :-)

Ben 19.11.2008 12:04
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
1 925
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

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

Ответ принят как подходящий

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

Общая проблема.

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

Решение. Меньше программируйте. Серьезно.

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

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

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

Спасибо - это действительно полезная точка зрения. Думаю, я попробую еще раз! И спасибо за все другие действительно полезные ответы на мои глупые вопросы сегодня! Бен

Ben 19.11.2008 00:28

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

Ben 19.11.2008 12:03

Другие вопросы по теме