将目录路径作为参数传递到用户友好的URL中

时间:2013-01-27 01:18:53

标签: php

我正在使用以下格式的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尽可能保持干净。

1 个答案:

答案 0 :(得分:1)

您不应让URL结构限制自己或您的用户。如果这个网址唯一真正的参数param部分是图像的路径,那么再次加入它似乎是微不足道的:

class images {
   public function gallery() {
      $imagePath = implode('/', func_get_args());
   }
}