Salve a tutti, per capire meglio il funzionamento dei vari framework stò cercando di creare un controller molto semplice per le rotte usando $_SERVER['REQUEST_URI']. Il principio di funzionamento che intendevo applicare era che dato un indirizzo tipo sito/news/show venga recuperato l'uri, diviso nelle sue componenti, assegnato ad un array e usato come parametri per cercare/richiamare il determinato controller, quindi lo schema sarebbe sito/controller/action. Al momento recupero gli uri con
Codice PHP:
//recupero la request_uri separandola secondo i vari /
$this->path = explode("/", $_SERVER['REQUEST_URI']);
//recupero lo script name (sito/index.php) e anche qui divido secondo gli /
$this->script = explode ("/", $_SERVER['SCRIPT_NAME']);
//creo un nuovo array inserendoci la differenza fra i 2 array precedenti in modo da avere
//i parametri pronti all'utilizzo (in pratica elimino sito/index.php)
$this->uri = array_diff($this->path, $this->script);
Fino a questo punto tutto bene, ma qui sorge il problema. Ad ogni nuova chiamata dentro all'array uri mi viene inserito index.php quindi in pratica l'indirizzo varierebbe in:
/sito/index.php/index.php/News (ho effettuato 2 chiamate in questo caso).
Ormai ne ho provate di ogni, ma non riesco ad eliminare questo accodamento.
Qualcuno ha qualche consiglio? Grazie in anticipo.
P.s: lo scopo di tutto cioè oltre quello didattico è di iniziare ad utilizzare url senza query string e dirottando ogni chiamata da htaccess su index.php.