php依赖注入的三种方式

angryTom
Freigeben: 2023-04-07 08:54:01
Original
7647 Leute haben es durchsucht

php依赖注入的三种方式

  控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI)。下面我们就为大家介绍一下php依赖注入的三种方式。

推荐教程:PHP视频教程

一、构造器注入

  将被依赖对象通过构造函数的参数注入给依赖对象,并且在初始化对象的时候注入。

优点:

  对象初始化完成后便可获得可使用的对象。

缺点:

  ●当需要注入的对象很多时,构造器参数列表将会很长;

  ●不够灵活。若有多种注入方式,每种方式只需注入指定几个依赖,那么就需要提供多个重载的构造函数,麻烦

二、setter方法注入

  IoC Service Provider通过调用成员变量提供的setter函数将被依赖对象注入给依赖类。

优点:

  灵活。可以选择性地注入需要的对象。

缺点:

  依赖对象初始化完成后由于尚未注入被依赖对象,因此还不能使用。

三、接口注入

  依赖类必须要实现指定的接口,然后实现该接口中的一个函数,该函数就是用于依赖注入。该函数的参数就是要注入的对象。

优点

  接口注入中,接口的名字、函数的名字都不重要,只要保证函数的参数是要注入的对象类型即可。

缺点

  侵入行太强,不建议使用。

PS:什么是侵入行? 

  如果类A要使用别人提供的一个功能,若为了使用这功能,需要在自己的类中增加额外的代码,这就是侵入性。

Das obige ist der detaillierte Inhalt vonphp依赖注入的三种方式. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!