2010-09-13 19 views
0

我有一個使用CakePhp創建的webapp。我需要與Python腳本進行交互。 什麼是最好的方式去做呢? (我可以使用管道等,但我想檢查最佳實踐)Python腳本的Php/Cakephp接口

謝謝。

回答

2

這真的取決於你在找什麼。如果你打算與python進行廣泛的接口,那麼我會建議尋找一個XML-RPC解決方案。關於如何配置使用雙絞線(Python)的一個XML-RPC服務器的詳細信息可以在這裏找到:

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

文檔在PHP創建XML-RPC客戶端:

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

這解決方案可能不是最好的解決方案,但它作爲供應商運行良好。如果你想要的更多是一種交易類型,那麼使用exec()會容易得多,儘管不是最乾淨的方式。

+1

我應該注意,永遠不要使用帶有包含用戶輸入的參數的exec()。 – JoeyP 2010-09-13 19:12:29

+0

+1僅僅用於提及「永遠不會使用包含用戶輸入的參數的exec()」,儘管在註釋中。 – Fr0zenFyr 2014-01-23 10:16:16

1

首先,檢查CakePHP提供的聯合類型。它可能通過xmlrpc,json,RSS等公開部分API。

如果這不是一個選項,直接連接到CakePHP應用程序使用的同一個數據庫。或者,也可以在CakePHP框架中實現一些php代碼,將相關數據作爲JSON進行傳遞並與其進行交互。

1

什麼樣的接口?兩種方式?單程?

我還沒有這樣做,因爲我不是Python程序員(但),但有許多方法可以暴露/訪問蛋糕 - URL /參數/參數,POST,GET,RSS等等。

看一看請求處理程序:http://book.cakephp.org/view/1292/Obtaining-Request-Information

我不知道你是否是一個Python或CakePHP的程序員,但如果你是前者,這本書:http://book.cakephp.org不傾向於覆蓋最事情和邏輯上是相當合理的(CodeIgniter/Symphony/Kohana粉絲可能會這樣說)。