Diğer cevapların çoğu görüldüğü gibi, genellikle mod_rewrite bunu yapmak için bir yoldur. Eğer mod_rewrite kullanmak istemiyorsanız Ama, sizin önyükleme dosyası aslında URL kendisinden değişkenleri yapılandırmak sağlayabilirsiniz.
Ben bu yüzden, bir URL'den bir dizi oluşturur kendi işlevlerinin bir çift kullanın:
site.com/page/welcome/param1/param2
olur
$url[0] = 'page'
$url[1] = 'welcome'
$url[2] = 'param1'
$url[3] = 'param2'
ve sonra benim Router $ url dizisi iletebilir ve Kontrol / Aksiyon / Param çağrı parçaları her element ait olduğu karar verir.
Yukarıda gösterilen aynı URL isteği Kontrolörü / Aksiyon / Param çağrısı oluşturur:
// http request for site.com/page/welcome/param1/param2
$controller = new Page_Controller('param1', 'param2');
$controller->welcomeAction();
iken, benim Router nesne ayarlarına bağlı olarak, ben böyle 'admin /' çağrıları gibi alt dizinler oluşturabilirsiniz:
// http request for site.com/admin/page/welcome/param1/param2
$controller = new Admin_Page_Controller('param1', 'param2');
$controller->welcomeAction();
Url_rewrite ile ben size $ url düzenleyebilirsiniz yani, bu size daha fazla özelleştirmek için olanak sağlar (Bazı çerçeveler de çok emin değilim, bunu yapmak isteyebilirsiniz) olarak, ve benim yöntemi ile bu yönlendirme eklemek için zor (hala mümkün olsa) olacağını düşünüyorum dizi Router nesneye geçirmeden önce gerekirse.
Ben negatifleri bu yöntemi kullanarak ne emin değilim, ama bu benim için oldukça iyi çalışıyor!