阅读手册,似乎赛格曼特方式是现在发布以将查询发布到 url 的最佳方式(多个字段上的 sql 查询)。 有没有人有我可以效仿的榜样?还是链接? 当我在模块配置中使用查询选项时,我收到以下消息。 但找不到有关新方法的任何信息。
Query route deprecated as of ZF 2.1.4; use the "query" option of the HTTP router's assembling method instead
以下内容是否在控制器或视图中? 模块配置会像这样
吗'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]
非常感谢,马 特
由于不推荐使用查询字符串,因此我们可以使用替代方法来使用查询字符串。
您可以添加参数以及路由来获取/保存查询字符串值。但是查询字符串需要在 和查询字符串之间使用"/"标记传递,而不是使用 "?" 标记。
/route-name/key=value&key=value1
您必须创建将从查询字符串中提取键和值并返回数组的函数,您可以将该函数添加到公共文件中,以便可以在整个项目中根据需要从任何控制器调用该函数。
您必须使用以下语句来获取控制器中的查询字符串值$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',
)
),
),
)),
希望这会有用
谢谢拉罕·克里普拉尼