Genellikle URL adresi ile onun controller sınıf/metodu arasında birebir ilişki mevcuttur. URI URI parçaları normalde şu deseni takip eder:
example.com/class/function/id/
Bununla birlikte, bazı durumlarda, bu ilişkiyi yeniden düzenlemek isteyebilirsiniz. Yani, bir tane ilgili URL yerine farklı bir sınıf/fonksiyon çağrılabilir.
Örneğin, diyelimki URL'lerin şu kalıpta gelmesini istiyorsunuz:
example.com/sayfa/1
example.com/sayfa/2
example.com/sayfa/3
example.com/sayfa/4
Normalde URL'nin ikinci parçası fonksiyon adına rezerve edilmiştir, ama bu yukarıdaki örnekte onun yerine sayfa ID değeri vardır.
Bunun çaresine bakmak için, STNC FW route olaylarını düzenlemenize izin verir.
Kendi yönlendirme kurallarınızı ayarlamak
Yönlendirme kurallarınızı app/routers.php dosyasında tanımlayabilirsiniz.
BU dosya içinde çağırdığınız $route dizini, kendi yönlendirme kriterinizi tanımlamanıza izin verir.
Burada request için symfony http-foundation component ini kullandım
Router::any('request', '\Controllers\ornekController@request');
//http://cms.dev/request
namespace Controllers;
// controller namespace'ini kullanacağımı bildirdim
use \Core\Controller as controller;
//request dahil edildi
use Symfony\Component\HttpFoundation\Request;
class OrnekController extends controller
{
/**
* get ve post paramtreleri buradan geçer
*/
private $request;
public function __construct() {
//request sürekli çağrılan bişey olduğu için kurucu fonksiyona vermeniz tavsiye edilir
$this->request = Request::createFromGlobals ();
}
/**
* request örneği
*/
public function request()
{
echo $this->request->get ( 'isim' );
}
}
}
ornek çalışma linki
http://cms.dev/request?isim=selman