php 简单说明IoC (php 实例+注释)

Posted zjh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 简单说明IoC (php 实例+注释)相关的知识,希望对你有一定的参考价值。

简单说明IoC

<?php

//Ioc ————  设计方式
//控制反转 Inversion of Control
//依赖关系的转移
//依赖抽象而非实践

//用于解决高层应用依赖 底层组件,软件移植性差(修改困难)的问题
//实例:
/*
class soft{
    private $writer;
    
    public function __construct(){
        $this->writer = new FloppyWriter;
    }
    public function save(){
        $this->writer->SaveToFloppy();
    }
}
//造成高层对底层的依赖__使程序无法重用 不好的设计
class FloppyWriter{
    public function saveToFloppy(){
        echo __METHOD__;
    }
}

$soft = new soft;
$soft->save()
*/
##########################改进##########################
//定义一个接口约定
interface IDeviceWriter
{
    public function saveToDevice();
}
class soft{
    private $_writer;
    
    public function setWriter($name){
        $this->_writer = $name;
    }
    public function save(){
        $this->_writer->saveToDevice();
    }
}
//软盘储存
class FoppyWriter implements IDeviceWriter{
    public function saveToDevice(){
        echo __METHOD__;
    }
}
//USB储存
class USBWriter implements IDeviceWriter{
    public function saveToDevice(){
        echo __METHOD__;
    }
}
//将高层依赖 转移到 "依赖注入"
$soft= new soft();
$writer=  new USBWriter;
$soft->setWriter($writer);
$soft->save();

 

以上是关于php 简单说明IoC (php 实例+注释)的主要内容,如果未能解决你的问题,请参考以下文章

本文实例讲解了PHP使用MySQL事物锁的实例,并备有注释加以详细说明

php注释规范

php注释规范

php注释规范

php注释规范

PHP的高效IOC框架——CanoeDI