thinkphp et laravel sont différents. Bien que thinkphp et laravel soient tous deux des frameworks de développement PHP, ils présentent de nombreuses différences : 1. Les méthodes de rendu du dernier décalage sont différentes. Thinkphp utilise la méthode "$this->display()" pour rendre les modèles, tandis que Laravel utilise la méthode ". return view()". ; 2. Laravel est un framework de reroutage et thinkphp nécessite une méthode de contrôleur pour un accès normal.
L'environnement d'exploitation de cet article : système Windows 10, version ThinkPHP5&&Laravel8, ordinateur Dell G3.
Thinkphp est différent de laravel
ThinkPHP est un framework de développement PHP léger, rapide, simple et orienté objet, gratuit et open source. ThinkPHP peut prendre en charge des serveurs tels que Windows/Unix/. L'environnement Linux, la version officielle nécessite PHP5.0 ou supérieur, prend en charge les bases de données MySql, PgSQL, Sqlite et les extensions PDO. Le framework ThinkPHP lui-même n'a aucune exigence particulière en matière de module. Les exigences spécifiques de l'environnement d'exploitation du système d'application dépendent des modules impliqués dans le développement.
Laravel est un framework Web PHP gratuit et open source créé par Taylor Otwell, conçu pour implémenter l'architecture MVC des logiciels Web et servir d'alternative à CodeIgniter. Son code source est hébergé sur GitHub et les termes de la licence sont une licence MIT. Les fonctionnalités de Laravel incluent : la prise en charge de l'authentification et des autorisations des utilisateurs, un système de packages modulaire avec sa propre bibliothèque de packages, des moyens de se connecter à de nombreux types de bases de données relationnelles, la fourniture d'outils pour aider au déploiement et à la maintenance des applications et le développement de nombreux sucres syntaxiques.
Principales différences : (thinkPHP est plus adapté aux habitudes de codage chinoises) :
1 Différences dans les méthodes de rendu des modèles :
Dans le framework Laravel, return view() est utilisé pour restituer le modèle ; , il est utilisé Le modèle est rendu en utilisant $this->display();
2 dans le framework Laravel, car il prend en compte la falsification de requêtes intersites, si vous utilisez le formulaire pour transmettre des valeurs dans mode post, si vous n'utilisez plus le formulaire L'ajout de {{csrf_field()}} signalera une erreur de syntaxe de TokenMethodnotfound ;
Le framework TP doit compléter manuellement le code pour empêcher les attaques intersites ;
3. est un framework de reroutage (5.4), toutes les fonctions sont initiées par le routage, même s'il n'y a pas de méthode de contrôleur, vous pouvez y accéder tant que vous écrivez la route. Pour thinkPHP (3.2), vous devez disposer d'une méthode de contrôleur pour un accès normal. ;
4. Laravel possède de puissantes extensions de communauté (extension de compositeur chargée automatiquement) ;
5 Laravel dispose d'un puissant moteur de modèles Blade, des fonctionnalités de Laravel, peuvent réaliser un traitement pré- et post-accès, tel que : comme les demandes et les retours, l'authentification des autorisations, etc. ;
7. Différences dans la manière d'écrire les déclarations de jugement conditionnel :
Les déclarations de jugement If else et les instructions foreach dans le framework Laravel doivent commencer par @if et se terminer par @endif. non, une erreur de syntaxe sera signalée, @foreach @endforeach est le même ;
Et TP Le framework est utilisé de la même manière que le jugement direct des instructions ifesle et le parcours de boucle foreach
Laravel a un grand nombre de. méthodes intégrées que les développeurs peuvent utiliser. Dans les applications réelles, cela est plus proche de l'idée de développement consistant à « laisser l'objet faire tout », comme dans Lors de la validation des formulaires d'arrière-plan, Laravel dispose d'un grand nombre de méthodes de validation intégrées. , comme la vérification du nom d'utilisateur : nous utilisons 'username'=>'required' (ne peut pas être vide) dans la méthode de validation | alpha_dash (doit contenir des chiffres, des lettres et des traits de soulignement) | ; Il intègre également un grand nombre de méthodes telles que le courrier électronique ; identique : nom du champ ; diff : nom du champ, etc., ce qui améliore considérablement la vitesse de développement
La méthode de cryptage est dans le framework TP ; nom d'utilisateur et mot de passe, utilisez md5(); Cependant, l'inconvénient de md5 est qu'il peut être craqué à l'envers, et selon les mêmes règles, les chaînes chiffrées par md5 pour le même mot de passe peuvent apparaître identiques. sécurité ;
Mais la méthode de chiffrement unidirectionnelle de chiffrement Hash "Hash" est intégrée au framework Laravel, et la chaîne chiffrée avec les mêmes paramètres n'apparaîtra jamais dans la même situation, ce qui améliore la sécurité ;
Dans le développement réel, nous Nous rencontrons souvent un tel problème, c'est-à-dire que l'emplacement de développement n'est pas fixe, ce qui nous amène à modifier fréquemment la configuration de la base de données, ce qui pose des problèmes au travail de développement. TP n'évite toujours pas ce « désastre » dans le framework laravel ; des fichiers d'environnement .env résout ce problème. Il nous suffit de configurer les fichiers .env dans différents emplacements de travail et nous n'avons pas besoin de les configurer à nouveau, car qu'il s'agisse de git ou de svn ".env ne sera pas soumis au fichier .env. avec le fichier du serveur".
Apprentissage recommandé : "
Tutoriel vidéo PHP"
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!