Интерфейс Php / Cakephp со скриптом Python - PullRequest
0 голосов
/ 13 сентября 2010

У меня есть веб-приложение, созданное с помощью CakePhp. Мне нужно взаимодействовать со скриптом Python. Каков наилучший способ сделать это? (Я мог бы использовать трубу и т. Д., Но я хочу проверить, каковы лучшие практики)

Спасибо.

Ответы [ 3 ]

2 голосов
/ 13 сентября 2010

Это действительно зависит от того, что вы ищете. Если вы собираетесь активно взаимодействовать с python, то я бы порекомендовал изучить решение XML-RPC. Подробную информацию о настройке сервера XML-RPC с использованием Twisted (Python) можно найти здесь:

http://twistedmatrix.com/documents/10.1.0/web/howto/xmlrpc.html

Документация по созданию клиента XML-RPC в PHP:

http://devzone.zend.com/article/1307

Это решение может быть не самым лучшим, но оно хорошо работает в качестве поставщика. Если то, что вы ищете, - это скорее единственная сделка, то использование exec () будет намного проще, хотя и не самым чистым способом.

1 голос
/ 13 сентября 2010

Какой интерфейс? Два пути? В одну сторону?

Я этого не делал, так как я не программист на Python (пока), но есть много способов показать / получить доступ к торту - URL / param / param, POST, GET, RSS, что угодно.

Посмотрите на обработчик запросов: http://book.cakephp.org/view/1292/Obtaining-Request-Information

Я не знаю, программист ли вы на Python или CakePHP, но если вы первый, книга: http://book.cakephp.org имеет тенденцию охватывать большинство вещей и довольно логично изложена (независимо от того, Поклонники CodeIgniter / Symphony / Kohana могут сказать).

1 голос
/ 13 сентября 2010

Прежде всего, проверьте, какие виды синдикации предлагает CakePHP. Он может раскрыть часть своего API через xmlrpc, json, RSS и т. Д.

Если это не вариант, подключитесь напрямую к той же базе данных, которую использует приложение CakePHP. Или, в качестве альтернативы, внедрите некоторый php-код в вашей среде CakePHP, который экспортирует соответствующие данные в виде JSON и взаимодействует с ним.

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