依赖注入:将当前类依赖的对象,以参数的方式注入到当前类中,简称依赖注入

<?php
class Mi
{
public function size()
{
return '5.99寸全面屏';
}
public function feature()
{
return '屏下指纹解锁';
}
}

1. 构造方法实现依赖注入

class Mi7
{
private $Mi = null;
public function __construct(Mi $mi)
{
$this->mi = $mi;
}
public function getInfo()
{
return '小米8:'.$this->mi->size();
}
}
//将实例化外部对象的语句放在了类的外部
$mi = new Mi;
$Mi7 = new Mi7($mi);
echo $Mi7->getInfo();
echo '<hr>';

2.用普通方式实现依赖注入

class Mi8
{
public function buy(Mi $mi)
{
return '小米8:'.'特色功能:'.$mi->feature();
}
}
$mi = new Mi;
$mi8 = new Mi8();
echo $mi8->buy($mi);

最新文章

  1. 【mysql】关于binlog格式
  2. quick-cocos2d-x 实现在lua里面完成android支付宝的接入
  3. CentOS 7 vs CentOS 6的不同
  4. 简单的css js控制table隔行变色
  5. 人人都是 DBA(XIII)索引信息收集脚本汇编
  6. ch2 创建和销毁对象
  7. Oracle获取AWR和ASH
  8. windows服务异常值framework版本
  9. hadoop中日志聚集问题
  10. 【Java】数据库连接池技术
  11. java——推断日期是否在今天之前
  12. easyui 小知识
  13. 【转】对于JNI方法名,数据类型和方法签名的一些认识
  14. Docker-----常见问题
  15. [angularjs] angularjs系列笔记(四)控制器
  16. PHP 设计模式(一)
  17. sql server 小技巧(7) 导出完整sql server 数据库成一个sql文件,包含表结构及数据
  18. 【翻唱】白金disco
  19. php 计算gps坐标 距离
  20. 锐捷交换机实验案例:vlan间互访的配置与验证

热门文章

  1. MessageBox 弹框
  2. 重启 hdfs and yarn datanode
  3. HBase 数据恢复
  4. beego 如何自定error
  5. python-Web-django-qq扫码登陆
  6. 338.比特位计数( Counting Bits)leetcode
  7. re 正则匹配的非贪婪匹配
  8. 【DSP开发】【并行计算-CUDA开发】TI OpenCL v01.01.xx
  9. 修改iframe内元素的样式
  10. WebMvcConfigurationSupport与WebMvcConfigurer的关系