Maison >développement back-end >tutoriel php >Comment puis-je intégrer des contrôleurs dans d'autres contrôleurs dans CodeIgniter sans affecter les URL ?

Comment puis-je intégrer des contrôleurs dans d'autres contrôleurs dans CodeIgniter sans affecter les URL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-25 01:37:17701parcourir

How Can I Embed Controllers Within Other Controllers in CodeIgniter Without Affecting URLs?

Intégrer des contrôleurs dans CodeIgniter

Atteindre la propreté du code tout en utilisant des bibliothèques tierces peut présenter un défi. Cette question concerne le scénario dans lequel vous cherchez à charger un contrôleur à partir de la fonction d'un autre contrôleur sans le mentionner explicitement dans l'URL.

L'utilisation de la fonctionnalité de module natif de CodeIgniter offre certaines fonctionnalités, mais nécessite toujours d'inclure le nom du contrôleur dans le URL. Pour surmonter cette limitation, vous pouvez utiliser l'approche suivante :

  1. Importer le contrôleur ciblé : dans votre contrôleur parent, chargez le contrôleur cible à l'aide du code suivant :
$this->load->library('../controllers/TargetController');
  1. Invoquer des méthodes de contrôleur : une fois importé, vous pouvez appeler des méthodes spécifiques à partir du fichier chargé contrôleur :
$this->TargetController->targetMethod();

En adoptant cette méthode, vous conservez la flexibilité d'accéder aux fonctions du contrôleur sans encombrer vos URL. Notez que cette approche fonctionne pour la version 2 de CodeIgniter et nécessite des modifications pour les autres versions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn