3 votes

Quel est sûr, utiliser required une fois ou créer une fonction dans un helper en codeigniter ?

J'ai eu un problème en appelant un contrôleur à partir d'un autre contrôleur, l'un des utilisateurs de stackoverflow a suggéré d'utiliser require_once mais une autre personne a dit que ce n'est pas une bonne idée maintenant je suis confus, lequel est sûr ? Utiliser require_once ou écrire une fonction dans l'aide ?

Lien vers l'ancienne question

5voto

dnapierata Points 893

Je dirais en général que l'appel d'un contrôleur depuis un autre contrôleur n'est pas une meilleure pratique. Si deux contrôleurs ont besoin d'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.

Création de bibliothèques

2voto

DFriend Points 5935

Il ne s'agit pas tant d'une question de "sécurité" mais plutôt d'une question de "convention" dans la façon dont les choses sont faites dans le framework CodeIgniter (CI). L'"idée" derrière un contrôleur dans CI est qu'à chaque demande de serveur, un seul contrôleur est créé.

La raison pour laquelle l'utilisation de require pour charger un autre contrôleur pourrait ne pas être "sûre" est que vous pourriez introduire des bugs qui sont très difficiles à traquer. Il existe une manière plus sûre de répondre à vos besoins.

Dans une situation où du code 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 au besoin. Un Helper pourrait également être la réponse. À mon avis, les bibliothèques (classes) sont la manière OOP et sont préférées.

La documentation de CI sur la création de bibliothèques décrit comment implémenter des classes personnalisées qui sont facilement utilisées dans plusieurs contrôleurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X