php简单介绍DI注入方法

744 ℃

今天web建站小编给大家介绍一下关于php简单的DI注入方法,下面给大家看一下简单的依赖注入代码和高阶的依赖注入代码?

简单的依赖注入代码

<?php
class container
{
  private $adapter;
  
  public function __construct(adapter $adapter)
  {
    $this->adapter = $adapter;
  }
}
?>

高阶的依赖注入代码

<?php
class container
{
  public $instance = [];
  
  public function __set($name, $value)
  {
    $this->instance[$name] = $value;
  }
}

$container = new container();

$container->adapter = new adapter();
$container->autofelix = new autofelix();
?>

依赖注入的应用

<?php
class container
{
  public $instance = [];
  
  public function __set($name, $value)
  {
    $this->instance[$name] = $value;
  }
}
 
class adapter
{
  public $name = '我是调度器';
}
 
$container = new container();
$container->adapter = new adapter();

class autofelix
{
  private $container;
  
  public function __construct(container $container)
  {
    $this->container = $container;
  }
  
  public function who($class)
  {
    return $this->container->instance[$class]->name;
  }
}
 
$autofelix = new autofelix($container);
 
$who = $autofelix->who('adapter');

var_dump($who); //我是调度器
?>

依赖注入高阶优化

<?php
$container = new container();
$container->adapter = new adapter();

//高阶优化
$container = new container();
$container->adapter = function () {
  return new adapter();
};
?>

php如何利用逗号分隔将字符串转换为数组

php如何利用函数删除数组中指定项

php报call stack错误的解决方法

php入门知识:介绍php的三种跳转方式

php利用微信小程序实现pdf文件的预览功能

标签: php, php入门, php问答, Private, Public

上面是“php简单介绍DI注入方法”的全面内容,想了解更多关于 php入门 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_2312.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

es6语法如何复制数组
Vue Cropper图片裁剪插件如何搭建运用
javascript一元运算符介绍方法
一款免费开源的 Vue3 加载动画组件——Epic Spinners
js如何利用reduce获取数组中最大值和最小值