v2.5.2
Giriş yap

URL Yapısı

coder
674 defa görüntülendi

Merhaba.
Url yapısı ile ilgili bir sorum var.

Aşağıdaki gibi bir url yapım var
controller/method/params

Bu url'i / ile parçalıyorum. Çözemediğim bir nokta var.
Aşağıdaki yapıya göre birden fazla params gelirse ben bu paramsları nasıl alacağım.

Not: Yapı OOP değildir.

<?php
    function parseUrl(){
    	if( isset($_GET["url"]) ){
    		return $url = explode('/', filter_var(rtrim($_GET["url"],'/'), FILTER_SANITIZE_URL));
    	}
    }

    $url = parseUrl();
    echo $Controller = $url[0];
    echo $Method = $url[1];
    echo $Params = $url[2];
?>
coder
1415 gün önce

Merhaba.
Url yapımız bu
controller/method/params

Bu yapıya uygun örnek
kategoriler/kategori/1
kategoriler/kategori/ad

Yapımıza göre örnekte 1 yada ad yazan yer bizim params'ımız. Bu şekilde bir sorun yok

Ama bu params kısmı birden fazla olursa aşağıdaki örnekteki gibi
kategoriler/kategori/a/b/c

Bu örnekte a b c birer params. Ben bu paramsları otomatik olarak tek seferde almak istiyorum.
Yani aşağıdaki gibi $Params = $url[4] gibi sürekli dizi anahtarı vermeden almak istiyorum.
Yapıya göre $url[2] params'a denk geliyor. Ben $Params = $url[2]; dediğim zaman tüm paramsları almış olayım.

$url = parseUrl();
echo $Controller = $url[0];
echo $Method = $url[1];
echo $Params = $url[2];

echo $Params = $url[3];
echo $Params = $url[4];

Bu params kısmının bir array olabileceğini controller/method/params = [] ve içerisindeki değerleri / ile bölebiliriz diye düşündüm ama koda dökemedim.