设计模式-面向对象编程基本原则

设计模式-面向对象编程基本原则

1、单一职责:一个类,只需要做好一件事情。

2、开放封闭:一个类,应该是可扩展的,不可修改的。

3、依赖倒置:一个类,不应该强依赖另一个类,要解绑。

如果a中需要用到b类的对象,应使用依赖注入的方式传入b的对象,而不是直接在a中

实例化b来使用。

4、配置化:尽可能使用配置,不要硬编码。

5、面向接口编程:只需要关心接口,而不需要关心实现。


配置自动加载的实现

ArrayAccess:SPL,允许你通过访问数组的方式来访问对象的属性,也就是说,一个
数据模型的对象如果继承了ArrayAccess类,那么访问数据可以通过数组的方式,也可
以通过属性的方式。
$config = new \Imooc\Config();
var_dump($config['name']);
var_dump($config->name);


database.php

'127.0.0.1',
    'port'=>'3306',
    'passwd'=>'123456',
    'user'=>'root'
];

Config.php

path = $path;
    }

    function offsetGet($offset)
    {
        if(empty($this->configs[$offset]))
        {
            $file = $this->path . '/' . $offset . '.php';
            $list = require $file;
            $this->configs[$offset] = $list;
        }
        return $this->configs[$offset];
    }

    function offsetUnset($offset)
    {

    }

    function offsetSet($offset, $value)
    {

    }

    function offsetExists($offset)
    {

    }
}

调用

$c = new \Imooc\Config(BASEDIR . '/Config');
var_dump($c['database']);
var_dump($c['database']['user']);

你可能感兴趣的:(PHP)