J'essaie d'extraire le nom de contrôle de l'URL et de le faire correspondre avec le contrôleur correct dynamiquement dans index.php.routage dynamique avec contrôleur frontal php
Ma racine app: /localhost/app/index.php
Donc, fondamentalement, quand je tapais /localhost/app/index.php/home, en essayant de inlude home_controller.php. Voici le code;
$parts = array_slice(explode('/',$_SERVER["REQUEST_URI"]),3);
if(file_exists(dirname(__FILE__)."/controllers/".$parts[0].'_controller.php'))
{
include dirname(__FILE__)."/controllers/".$parts[0].'_controller.php';
}
Il fonctionne très bien si la profondeur de la racine de l'application est 3. Il est cassé quand je l'ai changé le répertoire d'applications comme localhost/première/seconde/app/index.php/home
Parce qu'il est explosé par 3, $ parts [0] n'est plus "home" La question est comment puis-je détecter une partie du contrôleur d'une manière plus efficace?
utilisez-vous codeigniter d'ailleurs? – chris
merci. Je n'utilise pas CI. Après avoir explosé avec "/" encore, je vais avoir localhost, premier, deuxième, app, index.php, à la maison .. Je ne veux pas de boucle dans ce tableau pour trouver le contrôleur correct.Comme vous pouvez le voir, ce n'est pas efficace .. que se passe-t-il si vous parcourez en arrière, si l'URL est localhost/premier/second/app/index.php/home/settings? Je veux juste appeler la fonction des paramètres du contrôleur à la maison. @chris –
Im seulement penser à des choses folles lol. Aucun d'entre eux ne fonctionnera bien pour ce qui semble être votre jeu final. – chris