Maison > cadre php > Laravel > Qu'est-ce que l'inversion du contrôle IOC dans Laravel

Qu'est-ce que l'inversion du contrôle IOC dans Laravel

WBOY
Libérer: 2022-03-15 11:22:08
original
2909 Les gens l'ont consulté

Dans Laravel, l'inversion du contrôle IOC est un principe de conception en programmation orientée objet. Elle peut être utilisée pour réduire le couplage entre les codes informatiques. Cela signifie qu'une classe cède son contrôle à un autre objet. cet objet.

Qu'est-ce que l'inversion du contrôle IOC dans Laravel

L'environnement d'exploitation de cet article : système Windows 10, Laravel version 6, ordinateur Dell G3.

Qu'est-ce que l'inversion de contrôle ioc dans Laravel ?

L'inversion de contrôle (Inversion of Control, en abrégé IoC) est un principe de conception en programmation orientée objet qui peut être utilisé pour réduire le couplage entre les codes informatiques.

La méthode la plus courante est appelée Dependency Injection (DI), et l'autre méthode est appelée "Dependency Lookup". Par inversion de contrôle, lorsqu'un objet est créé, une entité externe qui contrôle tous les objets du système lui transmet la référence de l'objet dont elle dépend.

Pour faire simple, une classe cède son contrôle à un autre objet, et les dépendances entre classes sont résolues par cet objet. L'injection de dépendances est une déclaration explicite de dépendances, tandis que la recherche de dépendances résout les dépendances via la recherche.

Inversion de contrôle (IoC) : pas besoin de modifier le contenu vous-même, il est transmis en externe. Passage des dépendances internes aux dépendances externes.

Inversion de contrôle (IOC) : « Contrôle » est le contrôle du flux d'exécution du programme. « Inversion » signifie qu'avant d'utiliser le framework, le programmeur contrôle l'exécution de l'ensemble du programme. Après avoir utilisé le framework, les droits de contrôle sont. transféré du programme. Le membre est inversé dans le cadre.

Injecter une classe :

App::bind('foo', function($app)
{
    return new FooBar;
});
Copier après la connexion

Cet exemple signifie créer une classe avec l'alias foo, et l'instanciation réelle de FooBar se fait lors de son utilisation.

La façon d'utiliser cette classe est la suivante :

$value = App::make('foo');

$value est en fait un objet FooBar.

Si vous souhaitez utiliser le mode singleton pour instancier une classe, alors utilisez :

App::singleton('foo', function()
{
    return new FooBar;
});
Copier après la connexion

De cette façon, le même objet sera instancié à chaque fois.

【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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal