簡體   English   中英

如何使用Zend Framework 2通過url傳遞參數

[英]How to pass parameters by url with Zend Framework 2

我在使用Zend Framework 2中的URL傳遞參數時遇到了麻煩。例如:我想通過這樣的URL訪問頁面: http : //example.com/student/details/aaa,它可以工作,但是如果我的URL像這樣: http : //example.com/student/details/1它不起作用,而且我仍然得到404。

我試圖遵循如何在Zend Framework 2中使用路由傳遞參數的說明

但這仍然行不通。

這是我的module.config.php

'student' => array(
                'type'    => 'segment',
                'options' => array(
                    'route'    => '/student[/:action][/:id]',
                    'constraints' => array(
                            'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                            'id'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                    ),
                    'defaults' => array(
                            '__NAMESPACE__' => 'AppFeeder\Controller',
                            'controller'    => 'Student',
                            'action'        => 'index',
                    ),
                ),
            ),

我在控制器中使用此$this->getEvent()->getRouteMatch()->getParam('id')

誰能幫我 ?

您為ID使用錯誤的路由規則,該規則說從字母開始,然后是字母+數字+“ _-”。

 'id'     => '[a-zA-Z][a-zA-Z0-9_-]*',

相反,您需要更改規則,說從字母+數字開始,然后從字母+數字+“ _-”開始

 'id'     => '[a-zA-Z0-9][a-zA-Z0-9_-]*',

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM