您现在的位置是:首页>laravel
依赖注入简单解读
发布时间:2019-04-06编辑:w 浏览(2510)
<?php namespace PhpTest; class Baz{ protected $bar; public function __construct(Bar $bar) { $this->bar = $bar; } } class Bar{} class Foo { protected $baz; protected $bac; protected $bar; public function __construct($bac='wk', Bar $bar, Baz $baz) { $this->bac = $bac; $this->bar = $bar; $this->baz = $baz; } }
创建一个php文件,类Foo类中依赖两个类Bar 和Baz
如果直接new这个Foo类就会报错,你就要写一大堆的代码才能正确使用,这个时候你就要实现这个依赖注入关系,不管new哪个类就可以简单的调用;
创建app类,使用的时候传入要类的namespace,就像这样:
$class = 'PhpTest\Foo'; $app = new App(); $object = $app->build($class); var_dump($object);
App类的实现就是依赖注入的内部实现
在App类的内部最重要的是php内置的反射类ReflectionClass
具体完整的代码实现:
https://github.com/wangke568/dependencyInjection
关键字词:laravel php 依赖注入
上一篇: 什么是JWT
下一篇: laravel 快速开发模板