php 依赖注入的实现

php 依赖注入的实现,第1张

概述当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。<?php/***为了约束我们先定义一个消息接口

当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。

<?PHP /** * 为了约束我们先定义一个消息接口 * Interface Message */interface  Message{   public function seed();} /** * 有一个发送邮件的类 * Class SeedEmail */class SeedEmail implements Message{     public function seed()    {         return  'seed email';         // Todo: Implement seed() method.    } } /**  *新增一个发送短信的类 * Class SeedSMS */class SeedSMS implements Message{    public function seed()    {        return 'seed sms';        // Todo: Implement seed() method.    }  }/* * 订单产生的时候 需要发送消息 */class Order{     protected $messager = '';     function __construct(Message $message)    {        $this->messager = $message;     }    public function seed_msg()    {        return $this->messager->seed();    }}//我们需要发送邮件的时候$message = new SeedEmail();//将邮件发送对象作为参数传递给Order$Order = new Order($message);$Order->seed_msg();  //我们需要发送短信的时候$message = new SeedSMS();$Order = new Order($message);$Order->seed_msg();

 

总结

以上是内存溢出为你收集整理的php 依赖注入的实现全部内容,希望文章能够帮你解决php 依赖注入的实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存