Maison > Article > développement back-end > Explication graphique détaillée de l'architecture de base de Laravel 5.5
Cette fois, je vais vous apporter une explication graphique et textuelle détaillée de l'architecture de base de Laravel 5.5. Quelles sont les précautions lors de l'utilisation de l'architecture de base de Laravel 5.5. Voici des cas pratiques, prenons un. regarder.
Avant-propos
Cet article vous présente principalement le contenu pertinent sur l'architecture de base de Laravel 5.5 et le partage pour votre référence et votre étude . Je ne dirai rien ci-dessous. Assez dit, jetons un œil à l’introduction détaillée.
1. La méthode Injection de dépendance
transmet le nom du composant et le framework l'instanciera automatiquement. peut utiliser directement
par exemple, l'objet de requête le plus couramment utilisé
2. Conteneur de service
En fait, le cœur de Laravel est un conteneur IoC. Le cœur de Laravel lui-même est très léger et n'a aucune fonction d'application magique ou substantielle. Divers modules fonctionnels utilisés par de nombreuses personnes, tels que Route (routage), Eloquent ORM (composant ORM de base de données), Request (requête), Response (réponse), etc., sont en fait fournis par des modules de classe qui n'ont rien à voir avec le noyau . Le processus depuis l'enregistrement jusqu'à l'instanciation de ces classes jusqu'à leur utilisation finale relève en fait de la responsabilité du conteneur de services de Laravel.
Le fournisseur de services est principalement divisé en deux parties, registre (enregistrement) et démarrage (démarrage, initialisation)
Fournisseur de services <.>
Pour qu'une classe soit extraite par un conteneur, elle doit d'abord être enregistrée auprès du conteneur. Puisque Laravel appelle ce conteneur un conteneur de services, si nous avons besoin d'un service, nous devons d'abord enregistrer et lier le service au conteneur. Ensuite, la chose qui fournit le service et lie le service au conteneur est le fournisseur de services.4. Ajoutez votre propre classe au conteneur IOC
4.1 Créez une nouvelle classe de validation .
4.2. Créer un nouveau validateProvider
4.3.
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class ValidateProvider extends ServiceProvider { /** * Bootstrap the application services. * * @return void */ public function boot() { // } /** * Register the application services. * * @return void */ public function register() { $this->app->bind('valicate',function(){ return new Validate(); }); } }
4.4. Ajouter un fournisseur au conteneur IOC
4.5. 🎜>
4.6.
5. Façade
la façade est utilisée pour fournir une interface unifiée par exemple. , quel que soit le cache que vous utilisez, redis ou memcache, le client peut utiliser la méthode cache::get() pour obtenir la valeur. Quant à savoir si vous utilisez redis ou memcahe, cela dépend de celui que vous avez lié dans le fournisseur de services. . L'implémentation de cache::get() consiste à hériter de la méthode Facade getFacadeAccessor et à renvoyer la valeur clé que vous liez dans le conteneur, telle que le cache, puis la classe Facade utilisera la variable magique php
callstatic() , callstatic La logique analysera le service lié par le cache à partir du conteneur, auquel le fournisseur de services mentionné ci-dessus est lié5.1, par exemple, mail dans config/app.php
5.2 Cette classe renvoie uniquement un mailer
5.3. Si vous l'appelez Si la méthode d'envoi n'existe pas, elle entrera dans la méthode callstatic
magicCe 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!