首先,让我解释一下我正在尝试做什么。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