cakephp如何处理get请求?例如,它将如何处理这样的请求...... http://us.mc01g.mail.yahoo.com/mc/welcome?.gx=1&.rand=9553121_pg=showFolder&fid=Inbox&order=down&tt=1732&pSize=20&.rand=425311406&.jsrand=3
“mc”会成为控制者并且“欢迎”成为行动吗? 如何处理其他信息?
答案 0 :(得分:6)
另请注意,您可以使用Cake 1.2中的命名参数。命名参数是键:值顺序,因此url http://somesite.com/controller/action/key1:value1/key2:value2会给aa $ this-> params ['named']数组('key1'=>'value1','key2'=>'任何控制器内的value2')。
如果您使用CNN.com样式的GET请求(http://www.cnn.com/2009/SHOWBIZ/books/04/27/ayn.rand.atlas.shrugged/index.html),则参数按照$ this-> params ['pass'中的外观顺序(2009,SHOWBIZ,书籍等) ]数组,从0开始索引。
我强烈推荐使用命名参数,因为您可以稍后通过传递参数来添加功能,而无需担心订单。我相信你也可以改变命名参数分离键(默认情况下,它是':')。
因此它与“传统”GET参数(page.php?key1 = value1& key2 = value2)略有不同。但是,您可以在应用程序中轻松添加一些逻辑,通过绑定应用程序解析请求的方式自动将传统参数解析为数组。
答案 1 :(得分:2)
CakePHP使用路由来确定这一点。默认情况下,路由按您的描述工作。 '?'之后的余数是查询字符串,它可以在控制器的$this->params['url']
中找到,解析为关联数组。
答案 2 :(得分:1)
因为我在搜索时发现了这一点,即使它有点旧了。
$this->params['url']
持有GET信息。
我已经测试但它确实有效。 Cakephp书中的页面为'url'部分下的this link。它甚至给出了一个与原问题中的例子非常相似的例子。这也适用于我正在运行的CakePHP 1.3。
答案 3 :(得分:0)
它并没有真正使用典型的get。
如果传递那个长长的疯狂字符串,什么都不会发生。它需要这种格式的数据:site.com/controller/action/var1/var2/var ....
答案 4 :(得分:0)
有人能澄清正确的答案吗?在我看来,spoulson和SeanDowney的陈述相互矛盾?
是否有人能够使用最新版本的CakePHP并获取以下网址:
oauth是控制器并且授权成为一个方法,因为它能够在最后接受GET请求吗?