PHP değişkenlere bir fantezi URL ayrıştırma (/ class/method/x/1/y/1/z/1 /)

1 Cevap

Eminim birileri bu zaten yapmış yaşıyorum, ve birileri kodu paylaşmak umuyordum.

. Biz yerine aşağıdaki htaccess dosyası vardır:

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

Bu aynı bir Zend kullanımdır. Biz Zend yapar aynı URL yapısını taklit etmeye çalışıyorlar. Biz Zend kullanmak istiyorum ama biz yol çok kendi çerçevesi içine bulunmaktadır.

Ne biz başarmak istiyoruz bu gibi görünen bir url ayrıştırmak olduğunu:

http://www.test.com/a/b/x/1/y/1/z/1

Bunun için:

$class = 'a';
$method = 'b';
$x = 1;
$y = 1;
$z = 'a';

Ben numerics dizeleri belirlemek için nihai çözüm kodu olabilir, ama birileri bu yapılır ve paylaşmaya istekli olduğunu umuyordum.

1 Cevap

Zaten URL yolu varsa, bunu yapabilirsiniz:

$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];
}