Maison >cadre php >Laravel >Quelle est la différence entre Laravel et thinkphp

Quelle est la différence entre Laravel et thinkphp

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-11-11 10:56:0811259parcourir

Quelle est la différence entre Laravel et thinkphp

1. Différentes façons de rendre les modèles

Dans le framework Laravel, utilisez return view() pour restituer le template ;ThinkPHP utilise la méthode $this->display() pour restituer les modèles.

2. Dans le développement réel, nous rencontrons souvent le problème que l'emplacement de développement n'est pas fixe.

Cela nous amène à modifier fréquemment la configuration de la base de données, ce qui entraîne des problèmes pour le travail de développement. TP n'a toujours pas évité ce "catastrophe". Dans le framework laravel, l'émergence des fichiers d'environnement .env résout ce problème. Il suffit de configurer le fichier .env dans différents emplacements de travail et n'évitons pas de le reconfigurer, car qu'il s'agisse de git ou de svn, ".env ne sera pas soumis au serveur avec le fichier".

3. Le framework Laravel fournit un grand nombre de fermetures

En tant que novice, je n'utilise actuellement que la méthode use, c'est-à-dire comment utiliser les variables externes à l'intérieur la fonction.

4. Différents points à noter lors du passage de valeurs en post

Dans le framework Laravel, puisqu'il prend en compte les attaques cross-site, si vous utilisez le formulaire pour transmettre la valeur dans la publication, valeur, si {{csrf_field()}} n'est pas ajouté au formulaire, une erreur de syntaxe TokenMethodnotfound sera signalée et le framework TP doit compléter manuellement le code pour empêcher les attaques intersites.

5. Différences dans la manière d'écrire les déclarations de jugement conditionnel

Les déclarations de jugement If else et les déclarations foreach dans le framework Laravel doivent commencer par @if et se terminer par @endif. une fois écrit. Sinon, une erreur de syntaxe sera signalée, @foreach @endforeach est identique ; et le framework TP est utilisé de la même manière que les règles de syntaxe PHP, en utilisant directement l'instruction if esle pour juger et parcourir la boucle foreach.

6. Laravel dispose d'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 de "laisser l'objet fait tout", comme dans Lors de la validation du formulaire en arrière-plan, Laravel dispose d'un grand nombre de méthodes de validation intégrées. Par exemple, pour vérifier le nom d'utilisateur : nous pouvons utiliser 'username'=>'required' (ne peut pas être vide) dans la méthode de validation | alpha_dash (doit contenir des chiffres, des lettres et des soulignements) | de chiffres); Il dispose également d'un grand nombre de méthodes intégrées 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.

7. Méthode de cryptage

Dans le framework TP, nous utilisons 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 cryptées par md5 pour le même mot de passe peuvent apparaître identiques, ce qui réduit sa sécurité. Cependant, la méthode de chiffrement unidirectionnelle de chiffrement Hash "Hash" est intégrée au framework Laravel, et les chaînes chiffrées avec les mêmes paramètres n'apparaîtront jamais dans la même situation, ce qui améliore la sécurité.

8. Création de tables

Laravel possède sa propre structure intégrée indépendante pour créer des tables de base de données, vous n'avez donc pas besoin d'utiliser des instructions SQL natives ou SQLyogEnt ou Navicat du tout. L'outil de création de tables est utilisé pour l'établissement, l'ajout, la suppression, la modification, la requête et l'interaction des données. Je pense que cela peut être l'un des points forts de sa position de numéro 1. Dans ThinkPHP, nous devons utiliser des instructions SQL ou des outils de création de tables pour améliorer progressivement les données.

8.1. Nous devons d’abord construire un modèle : j’utilise gitbash. Gitbash est un outil de commande sous Windows Basé sur l'environnement msys GNU, il dispose d'un outil de contrôle de version distribué git et est principalement utilisé dans git. Mais vous pouvez aussi l'utiliser directement dans Laravel : php artisan make:model Models/GoodsModel -m pour terminer la création du modèle et la création de la structure des tables (/database/migrations).

8.2. Remplissez les données dans le tableau des données sur les marchandises. Veuillez noter que les types de données sont strictement distingués et doivent être ajoutés. Après l'ajout, utilisez la commande php artisan migrate pour terminer la création de la table.

Schema::create('goods', function (Blueprint $table) {

$table->increments('id')->comment('clé primaire du produit') ;

$table->string('title')->comment('Titre du produit');

8.3. exigences ou doit-on ajouter ? Pas besoin de s'inquiéter, extrayez le projet de github et modifiez-le directement dans la table de données, utilisez simplement :

php artisan migrate:refresh

9, ORM

La commande pour créer un modèle a été utilisée lors de l'introduction de la création de table :

php artisan make:model XXX;

Le modèle dans Laravel est la meilleure interprétation des idées de développement orienté objet. Laissez l'objet nous aider à remplir les exigences.

Extrait du manuel 5.1 : (L'ORM Eloquent de Laravel fournit une implémentation ActiveRecord belle et simple pour interagir avec la base de données. La table a un « modèle » correspondant qui peut être utilisé. Interagissez avec la table de données. Vous pouvez rechercher des données dans la table de données et ajouter des enregistrements à la table de données via le modèle. La commodité apportée par les opérations de table, telles que : l'affectation par lots, requête croisée, suppression de modèles et suppression logicielle, association de modèles, bien sûr, celles-ci peuvent également être implémentées à l'aide de modèles dans le framework TP.

10. Utilisation de la session

10.1. ThinkPHP encapsule les opérations de session et peut être utilisé sans introduction. Le démarrage de la session sera automatiquement exécuté lors de l'initialisation de l'application, il n'est donc pas nécessaire d'utiliser manuellement Session::start() pour démarrer la session.

Il n'y a pas de différence essentielle entre utiliser la classe Session pour fonctionner et appeler $_SESSION de la manière habituelle. Cependant, de nombreux paramètres de la classe Session peuvent être définis de manière flexible en fonction des exemples de configuration du projet les plus courants. méthodes de fonctionnement utilisées :

/ / Vérifier si la variable Session existe : Session::is_set('name');

// Attribuer une valeur à la variable Session : Session::set( 'name','value');

// Obtenir les variables de session : Session::get('name');

10.2 Méthodes courantes de session dans Laravel :

$request->session()->get( 'key');//Obtenir un nom de clé dans la session

$request->session()->set('key ','default');//Définir une valeur par défaut, lorsque le nom de clé spécifié n'existe pas, la valeur par défaut est renvoyée

$request->session()->all();/ /Renvoyer toutes les données

session('k'=> ;$v);//Écrire les données enregistrées de la session

et les données flash session()->flash() et conserver des données spécifiques ->keep(['','']);

Vous pouvez également personnaliser le pilote de session.

Site Web chinois php, un grand nombre de tutoriels d'introduction à Laravel gratuits, bienvenue pour apprendre en ligne !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn