All Is Ready | Teknoloji, Yazılım ve Daha Fazlası

PHP Router Nedir? Ne İçin Kullanılır?

İçindekiler

PHP Router Nedir?

PHP Router, bir web uygulamasında istekleri yönlendirmek için kullanılan bir yönlendirme mekanizmasıdır. Bu mekanizma, bir URL’yi alır ve bu URL’ye göre isteği doğru işleyiciye yönlendirir. Örneğin, bir web uygulamasında bir kullanıcının “example.com/products” adresine girdiğini düşünelim. Router mekanizması, bu adresi alır ve bu adrese göre bir “products” işleyiciye yönlendirir. Bu işleyici, kullanıcının istediği ürünleri görüntüleyebilir veya bu ürünlerle ilgili işlemler yapabilir.

PHP Router mekanizması, genellikle bir web uygulamasının ana dosyasında yer alır ve bir URL isteğini alır. Bu isteği karşılayacak bir işleyici bulunur ve istek bu işleyiciye yönlendirilir. Bu işleyici, isteği işler ve sonucu bir HTML sayfası olarak döndürür. Bu sayfa, kullanıcı tarafından tarayıcıda görüntülenir.

Örnek bir PHP Router kodu aşağıdaki gibidir:

// Bir URL'yi ve URL'lerin eşlemesini alan bir yönlendirici işlevi tanımlayın.
// argüman olarak callback
function router($url, $routes) {
// Verilen URL'nin eşlemedeki yollardan herhangi biriyle eşleşip eşleşmediğini kontrol edin.
foreach ($routes as $route => $callback) {
// Eşleşme için Regex kullanımı
if (preg_match($route, $url, $matches)) {
// Bir eşleşme bulunursa, karşılık gelen callback işlevini çağırın
// ve normal ifadedeki eşleşmeleri iletin.
return $callback($matches);
}
}

// Eşleşme yoksa hata mesajı döndür
return "Error: 404 Sayfa Bulunamadı.";
}

// "/products" URL'sine yönelik istekleri işleyecek bir işlev tanımlayın.
function products_handler($matches) {
// Bir ürün listesi için veritabanını sorgula.
$products = get_products_from_database();

// Ürün listesi içeren bir HTML sayfası oluşturun.
return generate_products_html($products);
}

// "/users" URL'sine yönelik istekleri işleyecek bir işlev tanımlayın.
function users_handler($matches) {
// Query the database for a list of users.
$users = get_users_from_database();

// Kullanıcı listesiyle bir HTML sayfası oluşturun.
return generate_users_html($users);
}

// URL'lerin callback işlevleriyle eşlenmesini tanımlayın.
$routes = array(
"/products" => "products_handler
);