在PHP中解析变量的奇特URL(/ class/method/x/1/y/1/z/1 /)

Mic*_*ICE 1 php

我相信有人已经完成了这项工作,并希望有人可以分享一些代码.

我们有以下.htaccess文件:

RewriteEngine on
RewriteBase /
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
Run Code Online (Sandbox Code Playgroud)

这与Zend使用的相同.我们试图模仿Zend所做的相同的URL结构.我们会使用Zend,但我们可以深入到我们自己的框架中.

我们想要完成的是解析一个如下所示的URL:

http://www.test.com/a/b/x/1/y/1/z/1
Run Code Online (Sandbox Code Playgroud)

对此:

$class = 'a';
$method = 'b';
$x = 1;
$y = 1;
$z = 'a';
Run Code Online (Sandbox Code Playgroud)

我可以编写最终解决方案以确定数字中的字符串,但希望有人已经这样做并且愿意分享.

Gum*_*mbo 5

当您已经拥有URL的路径时,您可以这样做:

$path = '/a/b/x/1/y/1/z/1';
$segments = explode('/', trim($path, '/'));
for ($i=0, $n=count($segments); $i<$n-1; ++$i) {
    ${$segments[$i]} = $segments[++$i];
}
Run Code Online (Sandbox Code Playgroud)