Michaelspiss/multiton

此包已被 废弃 并不再维护。未建议替代包。

一个特性,用于实现Multiton设计模式,无需任何依赖。

v1.0.1 2017-04-20 15:17 UTC

This package is not auto-updated.

Last update: 2020-01-26 01:01:29 UTC


README

一个特性,用于实现Multiton设计模式,无需任何依赖。

Build Status Coverage Status

安装

$ 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