Aşağıdaki gibi bir bootstrap yazdım. Şimdi ben URL olarak www.site.com/home/indexAction/parametre şeklinde girdiğim zaman sorunsuz bir şekilde çalışıyor fakat benim istediğim www.site.com/home/parametre şeklinde çalıştırmak yani method ismini URL'de göstermemek ama arkaplanda çalışmasını sağlamak.
Class Bootstrap extends Controller {
protected $controller;
protected $method;
protected $parameters;
function __construct() {
$_url = isset($_GET['url']) ? $_GET['url'] : null;
$_url = array_filter(explode('/', $_url));
$this->controller = isset($_url[0]) ? $_url[0] : 'home';
unset($_url[0]);
$this->method = isset($_url[1]) ? $_url[1] : 'indexAction';
unset($_url[1]);
$this->parameters = isset($_url[2]) ? array_values($_url) : [];
require_once 'controller/' . $this->controller . '.php';
call_user_func_array([$this->controller, $this->method], $this->parameters);
}
}
Not: Kodlar baştan sona mantıksal olarak yanlış olabilir. Öğrenmek için denemeler yapıyorum sadece varsa fikirleriniz almak isterim.