2017-05-26 4 views

Répondre

5

Je dirais en général que l'appel d'un contrôleur à partir d'un autre contrôleur n'est pas une meilleure pratique. Si deux contrôleurs doivent utiliser la même logique alors peut-être que cette logique devrait être dans un endroit séparé. Cela peut être fait en créant votre propre bibliothèque et en la chargeant dans les deux contrôleurs.

Consultez le lien ci-dessous pour en savoir plus sur la création de bibliothèques dans CodeIgniter.

Creating Libraries

2

Il n'est pas tant une question de « sécurité », mais plus une question de « convention » de la façon dont les choses sont faites dans le cadre CodeIgniter (CI). L '"idée" derrière un contrôleur dans CI est que sur une demande de serveur donnée, un seul contrôleur est créé.

La raison en utilisant require pour charger un autre contrôleur pourrait ne pas être « sûr » est que vous pourriez introduire des bugs qui sont la voie très difficile vers le bas. Il existe un moyen plus sûr de satisfaire vos besoins.

Dans une situation où il y a du code qui serait utile dans plus d'un contrôleur, la meilleure réponse est probablement de créer une bibliothèque personnalisée qui peut être chargée et utilisée si nécessaire. Un Helper pourrait également être la réponse. IMO, les bibliothèques (classes) sont la méthode OOP et sont préférées.

La documentation CI sur Creating Libraries décrit comment implémenter des classes personnalisées facilement utilisables dans un nombre quelconque de contrôleurs.