首先,讓我解釋一下我正在嘗試做什麼。CakePHP和在REST中處理參數
我已經成功實施與CakePHP的SOAP服務,使用此教程:
http://bakery.cakephp.org/articles/Marcelius/2009/02/10/soap-services-in-cakephp
這部分的偉大工程。我可以通過SOAP發送和接收XML消息,並且我有大約6個控制器以及一些不同的函數來處理這些請求。
我想要的是這個相同的應用程序也能夠通過REST處理請求。到目前爲止,我已經設法將mapResources()和parseExtentions()添加到我的routes.php文件中,它對於不需要任何參數傳遞以正常工作的函數非常有用,即,我可以轉到URL像
本地主機/目錄/ CONTROLLER_NAME/function_name.xml
...我會回來的所有成果,我幾乎要碰我現有的代碼,以得到它的工作。
但是,當功能需要一些輸入參數才能正常工作時,我真的很難獲得此功能 - 其中一些變量也可能變得相當複雜,就像數組一樣。
我已閱讀關於如何使用file_get_contents(「php:// input」)來獲取和分析傳入的請求主體,但這看起來確實不太工作,因爲我必須返回並將所有現有的代碼更改爲從該源獲取,並且每個函數調用都將引發缺少參數的警告。
是我想要做的可能嗎?用CakePHP處理這種情況的最佳方式是什麼?今天回答了我自己的問題的
TIA
在正常情況下,這是一個理智的人會怎麼做。但在這種情況下它不起作用。現有的代碼適合處理soap請求,所以任何具有參數的控制器函數都只需要一個stdClass作爲輸入。如果我按照自己的方式做了,我將不得不返回並更改所有現有的代碼,以手動獲取$ this-> param ['url']中的所有變量,而不僅僅是讓路徑找出它,並且匹配函數簽名。 – user470714 2011-05-09 06:50:59