Php 既然Zend查询已被弃用,那么发布查询的最佳方式是什么';url中有什么?
在阅读手册时,segmant方式似乎是现在将查询发布到url的最佳方式(多字段sql查询)。有没有人能给我举个例子?还是链接?当我在模块配置中使用查询选项时,我得到以下消息。但是找不到关于新方法的任何信息Php 既然Zend查询已被弃用,那么发布查询的最佳方式是什么';url中有什么?,php,mysql,zend-framework,zend-framework2,Php,Mysql,Zend Framework,Zend Framework2,在阅读手册时,segmant方式似乎是现在将查询发布到url的最佳方式(多字段sql查询)。有没有人能给我举个例子?还是链接?当我在模块配置中使用查询选项时,我得到以下消息。但是找不到关于新方法的任何信息 Query route deprecated as of ZF 2.1.4; use the "query" option of the HTTP router's assembling method instead 控制器或视图中是否显示以下内容?模块配置是否如下所示 'route'
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]
非常感谢,,
Matt由于不推荐使用查询字符串,我们可以使用其他方法来使用查询字符串 您可以在路由中添加参数以获取/保留查询字符串值。 但是需要在和查询字符串之间使用“/”标记传递查询字符串,而不是使用“?”标记 /route name/key=value&key=value1 您必须创建从查询字符串中提取键和值并返回数组的函数,您可以在公共文件中添加该函数,以便在整个项目中需要时可以从任何控制器调用该函数 您必须使用以下语句来获取控制器中的查询字符串值 $this->params('queryPara') 并将其传递给函数,该函数将以查询字符串的“key”=>“value”格式返回数组 路由配置需要针对要使用查询字符串的路由。 是
“路由器”=>阵列(
“路由”=>数组(
''=>数组(
'类型'=>'段',
“选项”=>数组(
“路由”=>“[/:action][/:queryPara][/]”,
'约束'=>数组(
“行动”=>“[a-zA-Z][a-zA-Z0-9_u-]*”,
“queryPara'=>”[a-zA-Z][a-zA-Z0-9-&=]*”,
),
“默认值”=>数组(
“控制器”=>“应用程序\控制器\索引”,
“操作”=>“索引”,
)
),
),
)),
希望这将是有用的
谢谢,
拉坎·克里普朗尼我仍然有麻烦。目前,我正在尝试使用表单上的setAttributes在我的视图中发布。我已经更新了上面的代码。感谢您的时间和专业知识。您能否指定您在视图中使用的代码以及setAttributes
'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',
)
),
),
)),