定制 hametuha/singleton-pattern 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hametuha/singleton-pattern

最新稳定版本:1.2.1

Composer 安装命令:

composer require hametuha/singleton-pattern

包简介

PHP abstract singleton pattern.

README 文档

README

PHP abstract singleton patter.

Travis CI

Installation

composer require hametuha/singleton-pattern

How to Use

Inherit from abstract class Hametuha\SingletonPattern\Singleton.

<?php

use Hametuha\SingletonPattern\Singleton;

class SampleSingleton extends Singleton {

    private $version = '';

    /**
     * This method is called inside constructor.
     */
    protected function init() {
        $this->version = get_wp_version();
    }

    /**
     * Greeting.
     */
    public function greet() {
        echo 'Hello World!';
    }
}

Then, call it outside.

<?php

SampleSingleton::get_instance()->greet();
// -> Hello World!

Bulk Registration

If you have PSR-0(or maybe PSR-4) based structure, you can bulk register them. For examle...

src
└Vendor
 └Library
  └NameSpace
   ├SampleClass
   ├OtherClass
   └AnotherClass

You can call BulkRegister::enable to load them all!

Hametuha\SingletonPatter\BulkRegister::enable( 'Vendor\Library\NameSpace', __DIR__ . '/src/Vendor/Library/NameSpace' );
// => 3(enabled class count)

Syntax is like below:

BulkRegister::enable( $namespace, $directory_to_scan, $subclass, $method )

  • $namespace Name space prefix. In the case above, Vendor/Library\NameSpace.
  • $directory_to_scan This directory will be scanned. Not recursively
  • $subclasss Class should be subclass of this class name. Defautl is Hametuha\SingletonPattern\Singleton.
  • $method Static method to call. Default is get_instance().

License

GPL 3.0 or later.

统计信息

  • 总下载量: 17.48k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 7
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2019-07-16