【问题标题】:Does Zend Framework have helper for building URL query strings?Zend 框架是否有构建 URL 查询字符串的助手?
【发布时间】:2011-12-30 13:47:05
【问题描述】:

我只是好奇和困惑,因为我认为 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 框架(在我看来相当复杂)是否有构建此类查询字符串的助手?我搜索了它,但没有找到任何东西。

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

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 没有这么简单的帮助器,有没有提供它的模块?还是完全由开发人员来创建这样的功能/助手?

感谢您的回答。

【问题讨论】:

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


    【解决方案1】:

    【讨论】:

    • 谢谢 :) 我不知道这个功能 :)
    【解决方案2】:

    PHP 有一个用于执行此操作的本机函数,请参阅:http://www.php.net/manual/en/function.http-build-query.php

    【讨论】:

    • 非常感谢!没想到PHP本身提供了这个功能;)
    【解决方案3】:

    如果你使用 MVC,ZF 不会像传统方式那样使用查询字符串。

    不过,您可以创建自己的助手:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 2012-06-02
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      相关资源
      最近更新 更多