Quelle est la différence entre contrat et façade dans Laravel
Différence : 1. Le contrat fait référence à une série d'interfaces fournies par le framework qui définissent les services de base, tandis que la façade fournit des interfaces statiques pour les classes du conteneur de services IoC 2. Le contrat peut être considéré comme l'interface de définition de méthode ; de la fonction framework, qui stocke de grandes méthodes Most, et la façade fournit des méthodes, fournit des appels statiques et n'a pas besoin d'injecter d'interfaces.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Laravel 6, ordinateur DELL G3.
Quelle est la différence entre les contrats et les façades dans laravel
Introduction
Les contrats de Laravel sont un ensemble d'interfaces fournies par le framework et définissent les services de base. Par exemple, le contrat illustreContractsQueueQueue définit les méthodes requises pour mettre en file d'attente une tâche, tandis que le contrat illustreContractsMailMailer définit les méthodes requises pour envoyer du courrier. Et les contrats sont aussi appelés contrats
Dans notre étude précédente, nous avons appris de nombreuses fonctions auxiliaires et méthodes simples fournies par la façade Façades, qui peuvent implémenter des méthodes sans indications de type. Dans la plupart des cas, chaque façade a des méthodes de contrat correspondantes, contrairement aux façades. , les contrats vous permettent d'exposer les dépendances pour les définitions de classe.
Quand utiliser les contrats
Comme indiqué ailleurs, de nombreuses décisions concernant l'utilisation de contrats ou de façades dépendront de vos préférences personnelles et des préférences de l'équipe de développement. Les contrats et les façades peuvent être utilisés pour créer des applications Laravel puissantes et bien testées. Tant que vous vous concentrez sur le fait qu'une classe ne doit avoir qu'une seule responsabilité, vous constaterez que la différence réelle entre l'utilisation de contrats ou de façades est en réalité très faible.
Comment utiliser le contrat
Alors, comment mettre en œuvre le contrat ? C'est en fait très simple.
De nombreuses classes dans Laravel sont résolues via le conteneur de services, notamment les contrôleurs, les écouteurs d'événements, les middlewares, les tâches de file d'attente et même les fermetures de routage. Par conséquent, pour implémenter le contrat, il vous suffit de « taper un indice » sur l'interface dans le constructeur de la classe résolue.
Par exemple, consultez cet écouteur d'événement :
<?php namespace App\Listeners; use App\Events\OrderWasPlaced; use App\Models\User; use Illuminate\Contracts\Redis\Factory; class CacheOrderInformation { /** * Redis 工厂实现 */ protected $redis; /** * 创建一个事件处理实例 * * @param Factory $redis * @return void */ public function __construct(Factory $redis) { $this->redis = $redis; } /** * 处理事件 * * @param OrderWasPlaced $event * @return void */ public function handle(OrderWasPlaced $event) { // } }
La différence entre contrat et façade
Le contrat fait en fait référence à une série d'interfaces fournies par le framework qui définissent les services de base. Le mot-clé est cette interface. ci-dessus, vous pouvez comprendre quelles fonctions cette interface fournit. Nous pouvons considérer le contrat comme l'interface de définition de méthode de la fonction framework. Cette interface stocke la plupart des méthodes que nous devons utiliser
La façade fournit également des méthodes. nous voulons utiliser la méthode d'interface, nous devons injecter l'interface correspondante, ce qui est très gênant, donc la façade est née, fournissant des appels statiques et pas besoin d'injecter l'interface.
[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!

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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

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

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

L'impact du partage des connexions redis dans Laravel Framework et sélectionnez Méthodes Lors de l'utilisation de Laravel Framework et Redis, les développeurs peuvent rencontrer un problème: grâce à la configuration ...

Connexion de la base de données des locataires personnalisés dans le package d'extension multi-locataire Laravel Stancl / location Lors de la construction d'applications multi-locataires à l'aide du package d'extension multi-locataire Laravel Stancl / location, ...

Laravelelognent Model Retrieval: Faconttement l'obtention de données de base de données Eloquentorm fournit un moyen concis et facile à comprendre pour faire fonctionner la base de données. Cet article présentera en détail diverses techniques de recherche de modèles éloquentes pour vous aider à obtenir efficacement les données de la base de données. 1. Obtenez tous les enregistrements. Utilisez la méthode All () pour obtenir tous les enregistrements dans la table de base de données: usApp \ Modèles \ Post; $ poters = post :: all (); Cela rendra une collection. Vous pouvez accéder aux données à l'aide de Foreach Loop ou d'autres méthodes de collecte: ForEach ($ PostsAs $ POST) {echo $ post->

Traiter efficacement 7 millions d'enregistrements et créer des cartes interactives avec la technologie géospatiale. Cet article explore comment traiter efficacement plus de 7 millions d'enregistrements en utilisant Laravel et MySQL et les convertir en visualisations de cartes interactives. Exigences initiales du projet de défi: extraire des informations précieuses en utilisant 7 millions d'enregistrements dans la base de données MySQL. Beaucoup de gens considèrent d'abord les langages de programmation, mais ignorent la base de données elle-même: peut-il répondre aux besoins? La migration des données ou l'ajustement structurel est-il requis? MySQL peut-il résister à une charge de données aussi importante? Analyse préliminaire: les filtres et les propriétés clés doivent être identifiés. Après analyse, il a été constaté que seuls quelques attributs étaient liés à la solution. Nous avons vérifié la faisabilité du filtre et établi certaines restrictions pour optimiser la recherche. Recherche de cartes basée sur la ville
