Après avoir développé pendant un certain temps dans CodeIgniter, je trouve difficile de décider quand créer une bibliothèque personnalisée et quand créer un assistant personnalisé.
Je comprends que les deux permettent d’avoir une logique métier et qu’ils soient réutilisables dans tout le framework (appels depuis différents contrôleurs, etc.).
Mais je suis fermement convaincu que le fait que les développeurs principaux de CI séparent les bibliothèques des aides, c’est pour cela qu’il ya une raison derrière cela et j’imagine que c’est la raison qui m’attend de découvrir et d’éclairer ma connaissance.
Les développeurs de CI là-bas, les conseils de pls.
je pense qu'il est préférable d'inclure un exemple.
Je pourrais avoir un
class notification_lib {
function set_message() { /*...*/}
function get_message() {/*...*/}
function update_message() {/*...*/}
}
Alternativement, je pourrais aussi inclure toutes les fonctions dans un assistant.
Dans un fichier notification_helper.php
, je vais inclure set_message(), get_message(), update_message()
..
Où que ce soit, il peut toujours être réutilisé. Cela m'a donc amené à réfléchir à la question de savoir quand exactement créer une bibliothèque et un assistant, en particulier dans CI.
Dans une application php normale (sans framework), le choix est clair car il n'y a pas d'aide, il vous suffira de créer une bibliothèque pour pouvoir réutiliser les codes. Mais ici, dans CI, je voudrais comprendre la séparation des développeurs et des assistants principaux
Il y a une question que je me pose au moment de prendre cette décision et qui, à mon avis, vous aidera également. La question est: est-ce que je fournis une fonctionnalité à mon framework ou est-ce que je suis en train de consolider?
Si vous ajoutez une fonctionnalité à votre infrastructure, vous souhaiterez créer une bibliothèque pour cela. La validation de formulaire, par exemple, est une fonctionnalité que vous ajoutez à une structure. Même si vous pouvez effectuer une validation de formulaire sans cette bibliothèque, vous créez un système standard de validation qui est une fonctionnalité.
Cependant, il existe également un assistant de formulaire qui vous aide à créer le code HTML des formulaires. La grande différence par rapport à la bibliothèque de validation de formulaire est que l'assistant de formulaire ne crée pas de nouvelle fonctionnalité, mais simplement un ensemble de fonctions connexes qui vous aident à écrire correctement le code HTML des formulaires.
Espérons que cette différenciation vous aidera comme elle l’a fait pour moi.
Eh bien, le choix revient à un ensemble de fonctions ou de classes. Le choix est presque identique à celui d’une classe d’instance par rapport à une classe statique.
Si vous avez simplement un groupe de fonctions, il vous suffit de créer un groupe de fonctions. Si ces groupes de fonctions partagent beaucoup de données, vous devez créer une classe avec une instance pour stocker ces données entre les appels de méthode (fonction de classe).
Avez-vous de nombreuses propriétés publiques ou privées à stocker concernant vos messages de notification?
Si vous utilisez une classe, vous pouvez définir plusieurs messages via le système, puis get_messages () peut renvoyer un tableau privé de messages. Cela le rendrait parfait pour être une bibliothèque.
First de tous, vous devez être sûr de bien comprendre la différence entre CI libaray et la classe helper. La classe d'assistance correspond à tout ce que aide à tout élément déjà créé, tel que array
, string
, uri
, etc. ils sont là et PHP leur fournit déjà des fonctions, mais vous créez toujours un assistant pour leur ajouter plus de fonctionnalités. D'autre part, libaray peut être quelque chose comme quelque chose que vous créez pour la première fois, toute solution qui pourrait ne pas être nécessairement déjà existante.
Une fois que vous comprenez parfaitement cette différence, prendre une décision ne doit pas être aussi difficile.
J'espère que cela pourra aider.
Merci
Helper contient un groupe de fonctions pour vous aider à effectuer une tâche particulière.
Les bibliothèques contiennent généralement des fonctionnalités non spécifiques à CI. Comme une bibliothèque d'images. Quelque chose qui est portable entre les applications.
Bibliothèques disponibles dans CI
Source lien
Si quelqu'un me demande comment vous suivez le moment venu, créez des aides ou des bibliothèques.
Je pense que ces différences:
Alors, allez dans Classe i.e. bibliothèques si un point correspond
Pour les assistants: tout point qui ne correspond pas aux bibliothèques
Personnellement, j'utilise des bibliothèques pour de grandes choses, disons une bibliothèque FTP que j'ai construite et qui est beaucoup plus rapide que la bibliothèque fournie par CodeIgniters. C'est une classe avec beaucoup de méthodes qui partagent des données les unes avec les autres.
J'utilise des aides pour des tâches plus petites qui ne sont pas liées à beaucoup d'autres fonctionnalités. De petites fonctions telles que la décoration de chaînes pourraient être un exemple. Ou copier un répertoire de manière récursive vers un autre emplacement.