工厂模式
创建一个framework\Think\Factory.php
1 | namespace Think; |
入口文件调用
1 | define('BASEDIR', __DIR__); |
优点
使用工厂模式取代了传统的 new 的好处是:如果实例化的类名发生了变化,只需要修改工厂方法即可。
单例模式
创建数组库类(Think/Database.php)
1 |
|
将工厂类中的实例化也采用单例模式
1 | static function createDatabase() |
入口文件调用
1 | $obj = Think\Database::getInstance(); |
在 index.php 文件中实例化单例模式的类,无论实例化多少次,都只生成1个对象。