1

我正在使用以下格式的 URL:localhost/controller/action/param1/param2/etc... 然后我使用以下内容路由请求:

list($controller, $action, $params) = explode('/', $request);
call_user_func_array(array(new $controller, $action), explode('/', $params));

现在我想传递一个目录路径作为参数,例如:localhost/images/gallery/path/to/somedir,但这显然将每个目录分解为一个单独的参数。

我有哪些选择?我应该使用不同的分隔符吗?我应该将它附加到查询字符串中然后使用$_GET吗?这是我第一次使用友好的 URL,因此我正在寻找有关如何以使 URL 尽可能干净的方式执行此操作的任何建议或最佳实践。

4

1 回答 1

1

您不应该让 URL 结构限制您自己或您的用户。如果这个 url 的唯一真正的参数参数部分是他图像的路径,那么再次加入它似乎很简单:

class images {
   public function gallery() {
      $imagePath = implode('/', func_get_args());
   }
}
于 2013-01-27T01:23:28.660 回答