空白参数

时间:2014-11-25 19:29:34

标签: php zend-framework zend-framework2

跟进我之前的问题

Why are my params not showing up in the url?

处理空白参数的最佳方法是什么?我是否需要为每个字段编写if语句并在null时分配值?目前我有2个参数,如果第一个是空白,则将第二个参数的值设置为第一个 以下是一个例子。如果Zip是第一个参数而bar是第二个参数...

www.foo.com/results/12345/bar
zip = 12345
bar = bar

如果第一个参数是空的......

www.foo.com/results/bar/
zip = bar  

我想在网址中执行此操作,以便以下工作。

$search_zip = $this->params()->fromRoute('zip','default');

以下是我发布参数的地方。

       return $this->redirect()->toRoute('home/results',array(
            'zip'=>$homeSearch->search_zip ,

1 个答案:

答案 0 :(得分:0)

您需要创建路线

'results' => [
    'type' => 'Segment',
    'options' => [
        'route' => 'results[/:zip][/:bar][/]',
            'defaults' => [
                '__NAMESPACE__' => '...',
                'controller' => '...',
                'action' => '...',
                'zip' => 'default',
                'bar' => 'default'
            ],
            'constraints' => [
                'zip' => '[0-9]+',
                'bar' => '[a-z]+'
            ]
        ]
    ]
]
控制器中的

$this->params('zip');
$this->params('bar');

$this->redirect()->toRoute('results', ['zip' => 123, 'bar' => 'bar']);