Php 以不同的方式在URL中发送参数?
我不知道如何写这个问题的标题。不管怎么说,情况就是这样 我有一张这样的桌子 人Php 以不同的方式在URL中发送参数?,php,zend-framework,module,routing,Php,Zend Framework,Module,Routing,我不知道如何写这个问题的标题。不管怎么说,情况就是这样 我有一张这样的桌子 人 id | username | firstname | lastname 1 | ab | Aaaa | Bbbb 2 | yz | Yyyy | Zzzz 我使用以下URL显示个人资料: example.com/person/profile/index?id=1 // Show person 1 profile example.com/person/
id | username | firstname | lastname
1 | ab | Aaaa | Bbbb
2 | yz | Yyyy | Zzzz
我使用以下URL显示个人资料:
example.com/person/profile/index?id=1 // Show person 1 profile
example.com/person/profile/index?id=1 // Show person 2 profile
此处:person
是模块,profile
是控制器,index
是使用参数id
获取和显示用户配置文件的操作
上述场景运行良好
问题:
现在我想使用以下URL来获取使用用户名的用户配置文件
example.com/person/profile/ab // Show person 1 profile
example.com/person/profile/yz // Show person 2 profile
有什么想法吗?如果您想使用默认的ZF路线停留,只需将链接更改为
example.com/person/profile/name/ab
,并使用$this->getRequest()->getParam('name')从您的控制器访问name即可。
此外,您还可以制定具体路线,您可以在此处找到文档:
此外,您还可以使用以下资源配置自定义路由文件:
resources.router.routes.profile.route = "/person/profile/:name"
resources.router.routes.profile.defaults.controller = "person"
resources.router.routes.profile.defaults.action = "profile"
resources.router.routes.profile.reqs[] = "name"
如果您想使用默认的ZF路由停留,只需将链接更改为
example.com/person/profile/name/ab
,并使用$this->getRequest()->getParam('name')从您的控制器访问name即可。
此外,您还可以制定具体路线,您可以在此处找到文档:
此外,您还可以使用以下资源配置自定义路由文件:
resources.router.routes.profile.route = "/person/profile/:name"
resources.router.routes.profile.defaults.controller = "person"
resources.router.routes.profile.defaults.action = "profile"
resources.router.routes.profile.reqs[] = "name"
默认情况下,您不需要做任何事情。只需在url的最后添加
/name/THENAME
那么
$name = $this -> _request -> getParam('name');
默认情况下,您不需要做任何事情。只需在url的最后添加
/name/THENAME
那么
$name = $this -> _request -> getParam('name');