php auto ve manuel router yapımı
Merhabalar öncelikle yapmaya çalıştığım şeyi açıklayayım.
normalde izniburak/router adlı kütüphaneyi kullanıyorum.
Fakat ben hem otomatik olarak hemde manuel olarak routerları yönetmek istiyorum.
Kod ile anlatmak gerekirse;
altta gördüğünüz kod manuel olarak routing yapıyor sorunsuz bir şekilde.
$router = new Buki\Router\Router([
'paths' => [
'controllers' => 'application/controllers'
]
]);
$router->get('/', 'users@index');
$router->run();
fakat ben örneğin users.php içinde index methodu varsa bunu otomatik bir şekilde çalıştırmasını istiyorum yani routing yapmadan urlde yer alan parametreye göre otomatik o sınıfa erişmesini istiyorum.
umarım anlatabilmişimdir bunu nasıl yapacağımı veya mantığını belirtirseniz sevinirim.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
<!-- Router.php -->
$router->get('/', 'users');
<!-- In Class -->
<!--
Class users olucak burada değişkenden alıcaksınız
Page ise şuanki sayfa olucak. Burada users classına mesela /users sayfasındaysa users fonskyonu çağırabilir mi diye bakıcaz
Çağırılamaz ise yoktur varsa çağırabilir.
-->
is_callable([$class,page]){
call_user_func($class . '::' . $page);
}else {
die('Controller Bulunamadı')
}
Burada