Dans Laravel, le nom complet d'orm est « Object-Relational Mapping », ce qui signifie « mappage objet-relationnel ». Sa fonction est de faire un mappage entre une base de données relationnelle et des objets d'entité commerciale de cette manière, lors de l'exploitation d'une entreprise ; objets, il n'y a pas besoin d'être compliqué. Pour gérer les instructions SQL, il suffit d'exploiter les propriétés et les méthodes de l'objet.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version Laravel 6, ordinateur Dell G3.
Qu'est-ce que ORM
ORM, le nom complet est Object-Relational Mapping (Object-Relational Mapping). Sa fonction est de faire un mappage entre la base de données relationnelle et les objets de l'entité métier de cette manière, lorsque nous opérons des manières spécifiques. objets métier, vous n'avez plus besoin de gérer des instructions SQL complexes, il vous suffit d'exploiter les propriétés et les méthodes de l'objet.
Méthode d'implémentation ORM
Les deux méthodes d'implémentation les plus courantes sont ActiveRecord et DataMapper (le premier est utilisé dans Laravel)
ActiveRecord (très populaire) a une correspondance biunivoque entre le modèle et les données table,
Les modèles et les tableaux de données sont complètement séparés dans DataMapper.
L'ORM Eloquent de Laravel utilise l'implémentation ActiveRecord. Chaque classe de modèle Eloquent correspond à une table dans la base de données. Nous pouvons ajouter, supprimer, modifier et interroger la base de données en appelant la méthode correspondante de la classe modèle.
Comprendre les deux fonctions magiques __call () et __callStatic ()
class Test{ //动态调用的时候 没有找到此函数 则执行__call() 方法 public function __call($method, $parameters){ echo 22222222222; return (new Rest)->$method(...$parameters); } //静态调用的时候 没有找到此函数 则执行__callStatic()方法 public static function __callStatic($method, $parameters){ echo 1111111111; return (new static)->$method(...$parameters); } } class Rest{ public function foo($name , $age){ echo 333; dump($name,$age); } } //先调用了__callStatic(), 在调用__call(), 然后调用 foo(); Test::foo('张三',17); //只调用了 __call(), 然后调用 foo(); (new Test())->foo('李四',16);die;
Après avoir compris les difficultés des deux premières fonctions magiques dans laravel Eloqument ORM, jetons un œil au code source dans Model
/** * Handle dynamic method calls into the model. * * @param string $method * @param array $parameters * @return mixed */public function __call($method, $parameters) { if (in_array($method, ['increment', 'decrement'])) { return $this->$method(...$parameters); } return $this->newQuery()->$method(...$parameters); } /** * Handle dynamic static method calls into the method. * * @param string $method * @param array $parameters * @return mixed */public static function __callStatic($method, $parameters) { return (new static)->$method(...$parameters); }
nouveaux retours statiques l'instance de l'appelant, new self () renvoie sa propre instance
Lorsque vous utilisez eloqument pour interroger
$list = Politician::where('party_id', 1)->count();
où la méthode n'est pas dans le modèle, la fonction callStatic() sera d'abord exécutée pour obtenir l'instance AppModelsPolitician, puis appellera ( ) , recherchez des méthodes telles que Where () count() dans l'instance renvoyée par $this->newQuery ().
Examinez de plus près l'instance renvoyée par la méthode newQuery (). Après avoir compris ces deux fonctions magiques, la difficulté d'implémenter ORM dans Laravel peut être surmontée. Le constructeur de requête dans
laravel
$list = DB::table('categoty')->get();
Eloquent ORM encapsule en fait la construction de la requête, ce qui la rend plus facile à utiliser. Si vous êtes intéressé par le code source du constructeur de requêtes, vous pouvez y jeter un œil
[Recommandations associées : tutoriel vidéo laravel]
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!

La sélection de Laravel ou Python dépend des exigences du projet: 1) Si vous devez développer rapidement des applications Web et utiliser des systèmes ORM et d'authentification, choisissez Laravel; 2) Si cela implique l'analyse des données, l'apprentissage automatique ou l'informatique scientifique, choisissez Python.

Laravel convient rapidement à la création d'applications Web, et Python convient aux projets qui nécessitent une flexibilité et une polyvalence. 1) Laravel fournit des fonctionnalités riches telles que ORM et le routage, adaptées à l'écosystème PHP. 2) Python est connu pour sa syntaxe concise et un puissant écosystème de bibliothèque, et convient à des domaines tels que le développement Web et la science des données.

Utilisez Laravel et PHP pour créer des sites Web dynamiques efficacement et amusants. 1) Laravel suit l'architecture MVC, et le moteur du modèle de lame simplifie l'écriture HTML. 2) Le système de routage et le mécanisme de traitement des demandes facilitent la définition de l'URL et le traitement des entrées utilisateur. 3) Eloquentorm simplifie les opérations de base de données. 4) L'utilisation de la migration de la base de données, des opérations CRUD et des modèles de lame est démontrée par l'exemple du système de blog. 5) Laravel offre de puissantes fonctions d'authentification et d'autorisation des utilisateurs. 6) Les compétences de débogage comprennent l'utilisation de systèmes de journalisation et d'outils artisanaux. 7) Les suggestions d'optimisation des performances comprennent le chargement paresseux et la mise en cache.

Laravel réalise le développement complet à travers le moteur du modèle de lame, l'éloquente, les outils artisanaux et Laravelmix: 1. La lame simplifie le développement frontal; 2. Eloquent simplifie les opérations de base de données; 3. Artisan améliore l'efficacité du développement; 4. Laravelmix gère les ressources frontales.

Laravel est un cadre moderne basé sur PHP qui suit le modèle d'architecture MVC, fournit des outils et des fonctions riches et simplifie le processus de développement Web. 1) Il contient Eloquentorm pour l'interaction de la base de données, 2) Interface de ligne de commande artisanale pour la génération rapide de code, 3) le moteur de modèle de lame pour le développement efficace de la vue, 4) Système de routage puissant pour définir la structure de l'URL, 5) Système d'authentification pour la gestion des utilisateurs, 6) Écoute des événements et plus efficaces pour des fonctions en temps réel, 7) Cache et des systèmes de file d'attente pour l'optimisation des performances, ce qui facilite et plus efficace des fonctions en temps réel et maintiennent des applications Web modernes.

Laravel convient rapidement à la création d'applications Web, tandis que Python convient à une gamme plus large de scénarios d'application. 1.Laravel fournit des outils éloquents, moteur de modèle de lame et artisanaux pour simplifier le développement Web. 2. Python est connu pour ses types dynamiques, sa riche bibliothèque standard et son écosystème tiers, et convient au développement Web, à la science des données et à d'autres domaines.

Laravel et Python ont chacun leurs propres avantages: Laravel convient rapidement à la création d'applications Web riches en fonctionnalités, et Python fonctionne bien dans les domaines de la science des données et de la programmation générale. 1.Laravel fournit des moteurs éloquents et modèles de lame, adaptés à la création d'applications Web modernes. 2. Python a une bibliothèque standard riche et une bibliothèque tierce, et les cadres Django et Flask répondent à différents besoins de développement.

Laravel mérite d'être choisi car il peut rendre la structure du code claire et le processus de développement plus artistique. 1) Laravel est basé sur PHP, suit l'architecture MVC et simplifie le développement Web. 2) Ses fonctions de base telles que l'éloquente, les outils artisanaux et les modèles de lame améliorent l'élégance et la robustesse du développement. 3) Grâce au routage, aux contrôleurs, aux modèles et aux vues, les développeurs peuvent créer efficacement des applications. 4) Les fonctions avancées telles que la surveillance des files d'attente et des événements améliorent encore les performances de l'application.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Version Mac de WebStorm
Outils de développement JavaScript utiles

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Dreamweaver Mac
Outils de développement Web visuel