栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Zend Framework 2中访问route,post,get等参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Zend Framework 2中访问route,post,get等参数

最简单的方法是使用beta5中引入的Params插件。它具有实用方法,可轻松访问不同类型的参数。与往常一样,阅读测试对于了解应该如何使用某些东西非常有价值。

获得单一价值

要获取控制器中命名参数的值,您将需要为要查找的参数类型选择适当的方法并传递名称。

例子:

$this->params()->fromPost('paramname');   // From POST$this->params()->fromQuery('paramname');  // From GET$this->params()->fromRoute('paramname');  // From RouteMatch$this->params()->fromHeader('paramname'); // From header$this->params()->fromFiles('paramname');  // From file being uploaded

默认值

所有这些方法还支持默认值,如果未找到具有给定名称的参数,则将返回默认值。

例:

$orderBy = $this->params()->fromQuery('orderby', 'name');

当访问http://example.com/?orderby=birthdate时,
$ orderBy 将具有值 birthdate 。 访问http://example.com/时, $ orderBy 将具有 默认
name

获取所有参数

要获取一种类型的所有参数,只需不输入任何内容,Params插件将返回一个以其名称为键的值数组。

例:

$allGetValues = $this->params()->fromQuery(); // empty method call

访问http://example.com/?orderby=birthdate&filter=hasphone时,
$ allGetValues 将是一个数组,例如

array(    'orderby' => 'birthdate',    'filter'  => 'hasphone',);

不使用Params插件

如果检查Params插件的源代码,您会发现它只是其他控制器的薄包装,可以实现更一致的参数检索。如果出于某种原因想要/需要直接访问它们,则可以在源代码中看到它是如何完成的。

例:

$this->getRequest()->getRequest('name', 'default');$this->getEvent()->getRouteMatch()->getParam('name', 'default');

注意: 您可能已经使用了超全局变量$ _GET,$ _ POST等,但是不建议这样做。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452147.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号