Michaelspiss / multiton
此包已被 废弃 并不再维护。未建议替代包。
一个特性,用于实现Multiton设计模式,无需任何依赖。
v1.0.1
2017-04-20 15:17 UTC
Requires
- php: >= 5.4
Requires (Dev)
- phpunit/phpunit: ^4.1
This package is not auto-updated.
Last update: 2020-01-26 01:01:29 UTC
README
一个特性,用于实现Multiton设计模式,无需任何依赖。
安装
$ composer require michaelspiss/multiton
基本用法
一行代码即可将一个类(仅用于演示,称为DatabaseAccess)转换为Multiton。
<?php class DatabaseAccess { use MichaelSpiss\DesignPatterns\Multiton; ... }
要获取Multiton实例,只需使用唯一标识符调用 ::getInstance() 方法。
$instance = DatabaseAccess::getInstance('ID');
可以通过使用另一个ID以完全相同的方式获取另一个实例。
在初始化过程中,构造函数使用标识符作为参数调用。您可以按需更改 __construct() 方法,只要它只需要一个标识符作为属性,并且它的可见性为 protected
,以防止通过 new
运算符进行实例化。
PHP 要求
- PHP >= 5.4
许可证
MIT