Différences : 1. CI n'oblige pas les modèles de liaison à faire fonctionner la base de données, mais ThinkPHP le fait ; 2. ThinkPHP prête attention à la commodité d'utilisation et fournit de nombreux assistants fonctionnels, tandis que l'utilisation de CI est plus lourde et plus longue 3. Fichier de vue de CI Il n'est pas configurable, mais le fichier de vue de TP est configurable. 4. TP fournit une variété de méthodes de débogage, mais pas CI.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version thinkphp v5.1, ordinateur Dell G3.
Comparez les fonctions de ThinkPHP et CI :
Modèle : Le modèle est équivalent au fonctionnement des données. Il existe de nombreuses formes de stockage de données : telles que la base de données, le système de fichiers, la mémoire, etc. CI n'oblige pas les modèles de liaison à fonctionner sur les bases de données, et ThinkPHP (ci-après dénommé TP) est fortement lié aux opérations de base de données par défaut. Il est vrai que les données exploitées dans la pratique proviennent généralement de la base de données, mais que devons-nous faire si. nous voulons exploiter des données d’autres types de stockage ? En fait, TP ne fournit que de nombreuses interfaces pratiques pour l'exploitation des données. Tant que ces interfaces ne sont pas utilisées, elles sont toujours découplées et le pilote de type de stockage est configurable, par exemple, il peut être modifié pour les opérations de données sur fichiers. Le TP est donc beaucoup plus pratique.
Utilisation de l'espace de noms. Le parti CI ne se rend pas compte de la commodité et de l’élégance apportées par les espaces de noms. Lorsque CI utilise $this->load() pour importer deux modèles à partir de modules différents, il devrait y avoir des conflits. Cela devrait être remplaçable, mais son utilisation n'est pas pratique.
TP accorde une grande attention à la commodité d'utilisation, il fournit donc de nombreux assistants de fonctions. Généralement, l'utilisation normale est $a=Class::function();. = class();, ce qui est très pratique. Non, cela dépend de la façon dont vous vous y habituez. CI serait difficile et fastidieux d'écrire $this->class->function().
Parlons des vues et des modèles. L'emplacement de stockage des fichiers de vue de CI se trouve sous application/view, et il n'est pas configurable. Au moins, je n'ai pas trouvé d'endroit où il peut être configuré. Le répertoire de vues de TP est configurable et ne doit pas nécessairement se trouver sous l'application, ce qui offre une plus grande commodité pour un accès sécurisé ainsi que pour la personnalisation et le remplacement des vues.
Concernant les modèles, l'implémentation de CI est relativement inutile. Bien qu'il existe une classe d'analyse de modèles $this->load->library('parser'); de variables, ce qui est plus compliqué. La structure de contrôle ne peut pas être implémentée. En fin de compte, elle est toujours implémentée avec du code PHP natif (je suppose que le responsable préconise également l'utilisation du natif, après tout, le natif ne nécessite pas beaucoup d'analyse, c'est vrai). supérieur en efficacité et n'a pas besoin d'apprendre un nouvel ensemble de syntaxe).
Les modèles de TP sont plus complets et plus matures, et ont leur propre ensemble de syntaxe. Fondamentalement, ils n'ont pas besoin de mélanger du PHP natif. C'est peut-être une bonne chose pour les ingénieurs front-end. mais apprenez simplement la syntaxe du modèle. La division du travail entre le front et le back end est devenue plus claire.
Maintenant que j'y pense, il y a une grande différence entre la structure de répertoires MVC de CI et TP :
Les contrôleurs, vues et modèles de CI ont chacun un répertoire et les modules sont divisés en créant des sous-répertoires sous chaque répertoire ci-dessus en tant que modules, ou il n'y a aucun concept de modules, et les contrôleurs, modèles, etc. sont créés directement dans le répertoire.
Et TP utilise des modules comme unité d'isolation de base. Par défaut, il y a un répertoire contrôleurs, vue et modèle sous le répertoire correspondant à chaque modèle.
En ce qui concerne le débogage, TP a définitivement quelques longueurs d'avance sur CI. La méthode officielle est la suivante :
tandis que CI peut simplement imprimer temporairement le mauvais appel, bien que cela ait déjà été fait. 60% des problèmes peuvent être résolus.
【Recommandation de tutoriel connexe : thinkphp framework】
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!