gpt4 book ai didi

php - 现在 Zend Query 已被弃用,在 url 中发布查询的最佳方式是什么?

转载 作者:行者123 更新时间:2023-11-29 23:23:32 25 4
gpt4 key购买 nike

阅读手册后发现,segmant 方式是现在将查询发布到 url 的最佳方式(对多个字段进行 SQL 查询)。有人有我可以效仿的例子吗?或者一个链接?当我在模块配置中使用查询选项时,我收到以下消息。但找不到有关新方法的任何信息。

 Query route deprecated as of ZF 2.1.4; use the "query" option of the HTTP router's assembling method instead 

下面的内容是否出现在 Controller 或 View 中?模块配置看起来像

'route' => 'foo[/:page][/:sort]'

下面是我找到的一个例子

  $url = $router->assemble(array(
'name' => 'foo',
), array(
'query' => array(
'page' => 3,
'sort' => 'DESC',
),
// or: 'query' => 'page=3&sort=DESC'
));

// via URL helper/plugin:
$rendererOrController->url('foo', array(), array('query' => $request->getQuery()));

我的观点:

$form->setAttribute('action', $this->url(
'home/results',
array(
'action' => 'results',
'search_zip'=> '$this->search_zip',

模块配置

'route' => 'results[/:search_zip]

非常感谢,马特

最佳答案

由于不推荐使用查询字符串,我们可以使用替代方法来使用查询字符串。

您可以添加参数和路由来获取/保存查询字符串值。但是查询字符串需要在和查询字符串之间使用“/”标记来传递,而不是使用“?”标记。

/路由名称/key=value&key=value1

您必须创建从查询字符串中提取键和值并返回数组的函数,您可以在公共(public)文件中添加该函数,以便可以从整个项目中需要的任何 Controller 调用。

您必须使用以下语句来获取 Controller 中的查询字符串值$this->params('queryPara')并将其传递给函数,该函数将以查询字符串的“key”=>“value”格式返回数组。

路由配置需要针对您要使用查询字符串的路由。是

'router' => array(
'routes' => array(
'<route-name>' => array(
'type' => 'segment',
'options' => array(
'route' => '<route-name>[/:action][/:queryPara][/]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'queryPara' => '[a-zA-Z][a-zA-Z0-9_-&=]*',
),
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'index',
)
),
),
)),

希望这会有用

谢谢,拉坎·克里普拉尼

关于php - 现在 Zend Query 已被弃用,在 url 中发布查询的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com