加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

zend-framework – Zend Framework Url View Helper默认添加“id”

发布时间:2020-05-22 12:26:49 所属栏目:PHP 来源:互联网
导读:我正在创建一个简单的CRUD来添加类别的链接.每个类别都有一个id.我有一个视图,列出了某个类别的所有链接.在该视图中,我有一个添加表单的链接,它是: http://example.com/link/add/categoryId/3 我目前使用以下语法在视图中构建该链接. ?php echo $this-baseUr

我正在创建一个简单的CRUD来添加类别的链接.每个类别都有一个id.我有一个视图,列出了某个类别的所有链接.在该视图中,我有一个添加表单的链接,它是:

http://example.com/link/add/categoryId/3

我目前使用以下语法在视图中构建该链接.

<?php echo $this->baseUrl();?>/link/add/categoryId/<?php echo $this->category['id']; ?>

我认为使用Url View Helper可以更清洁.

<?php echo $this->url(array('controller'=>'link','action'=>'add','categoryId'=>$this->category['id'])); ?>

但这给了我以下网址

http://example.com/link/add/id/3/categoryId/3

..还有一个额外的“id / 3”.
我阅读但没有完全理解Url View Helper的代码.怎么会有额外的id / 3在那里?

谢谢!

@Fge给出了正确的答案,下面是我更新的完整语法.

echo $this->url(array('controller'=>'link','categoryId'=>$this->category['id']),null,true);
默认情况下,Url ViewHelper使用当前请求参数合并并覆盖给定参数.就像你的情况一样,id参数.如果要重置所有参数,则必须使用view-helper的第3个参数:’reset’:
$this->url(array(),'route'( = null to use the default),true);

这将强制viewhelper不将当前请求用作未设置参数的“后备”.如果您只想更改当前请求的一个或两个参数(如操作)但不想设置所有参数(或者您甚至不知道所有参数),则默认行为特别有用.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读