【发布时间】:2017-07-10 12:49:19
【问题描述】:
我正在尝试实现这个 PHP MVC 应用程序。
我在这里的尝试是添加/编辑/删除类别。类别具有名称和描述。它的视图基本上是一个包含类别数据的表格和一个用于编辑/删除的链接。
我已经动态加载并完成了添加类别部分,但我被困在编辑/删除中。
我的路由是这样设置的:Controller/Action/Parameter。
点击 EDIT 链接,应用程序获取行的 ID 并继续编辑页面,因此:/categories/edit/(categoryID)
因此,如果我想编辑第一个条目,它将转到 categories/edit/1
我的问题是:如何检索类别 ID?来自 URL 的 1。
$_GET['id'] 不起作用,因为我的路由看起来不像 categories/edit.php?id=etc
编辑
<?php
$routes = explode('/', $_SERVER['REQUEST_URI']);
// get controller name
if (isset($routes[1]) && !empty($routes[1])) {
$controllerName = $routes[1];
}
// get name action
if (isset($routes[2]) && !empty($routes[2])) {
$actionName = $routes[2];
}
if (isset($routes[3]) && !empty($routes[3])) {
$param = $routes[3];
}
抱歉。这是route.php。 此外,使用 array_pop 获取 id 似乎不起作用。
【问题讨论】:
-
你得到了什么
print_r($_REQUEST) -
向我们展示一些代码,您的链接看起来像一个 REST API(也许也可以搜索)
-
发布您的路由规则,这将使您清楚地了解传入的 1。
-
您是否在使用某种路由库,例如 FastRoute?我相信有人使用正则表达式。
-
你的意思是这样的:stackoverflow.com/a/19309893/727208
标签: php content-management-system url-routing