Zend Framework是否有帮助构建URL查询字符串?

时间:2011-12-30 13:47:06

标签: php url zend-framework zend-framework-modules

我只是好奇而且困惑,因为我认为Zend Framework在构建Web应用程序时几乎可以使用所有工具。

在Zend Framework中,参数通常在URL中作为/param_name/param_value传递,但如果我想构建以“?param_name=param_value&param_name2=param_value2”结尾的URL,我似乎必须自己构建此查询字符串并将其作为这样的字符串:

<a href="<?php echo $this->url(array('controller'=>'index','action'=>'form'),NULL,TRUE)."?param_name=param_value&param_name2=param_value2";?>" title="">
    Some link
</a>

Zend Framework - 在我看来是非常复杂的 - 有帮助构建这样的查询字符串吗?我搜索了那个并没有找到任何东西。

我正在寻找的是与此类似的东西,但更可靠:

function query_string(array $params) {
    $keys = array_keys($params);
    $vals = array_values($params);
    $build_param_func = create_function('$a,$b','return $a."=".$b;');
    $query_string_parts = array_map($build_param_func, $keys, $vals);
    return '?'.implode('&amp;', $query_string_parts);
};

在此处查看其演示:http://ideone.com/piCNj

如果Zend Framework没有这样简单的帮助器,是否有任何提供它的模块?或者完全由开发人员来创建这样的函数/帮助器?

感谢您的回答。

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

PHP有一个本机函数,请参阅:http://www.php.net/manual/en/function.http-build-query.php

答案 2 :(得分:2)

如果使用MVC,ZF不会以传统方式使用查询字符串。

你可以创建自己的助手:

http://blog.lysender.com/2009/04/creating-your-own-helper-zend-framework/