da2e / simple-factory
实现并提供了简单工厂(设计模式)功能的微型包。
v1.0.0
2017-05-21 16:39 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: 5.*
This package is not auto-updated.
Last update: 2024-09-20 19:19:51 UTC
README
SimpleFactory是一个实现简单工厂设计模式并提供其功能的微型包。
如何使用
<?php use Da2e\SimpleFactory\SimpleFactory; $factory = new SimpleFactory(); $factory->create(TheObjectYouNeedToCreate::class, ['optional', 'array', 'of', 'constructor', 'args']);
构造函数参数的顺序很重要!
为了自动化创建具有相同构造函数参数的同类对象的过程,您可以为SimpleFactory创建一个包装器,并将所需的参数传递给其构造函数,如下所示
<?php use Da2e\SimpleFactory\SimpleFactory; class MySimpleFactory extends SimpleFactory { private $dependency; public function __construct($dependency) { $this->dependency = $dependency; } /** * {@inheritdoc} */ public function create(string $class, array $constructorArgs = []) { parent::create($class, array_merge([$this->dependency], $constructorArgs)); } } $factory = new MySimpleFactory('foobar'); $factory->create(TheObjectYouNeedToCreate1::class); $factory->create(TheObjectYouNeedToCreate2::class); $factory->create(TheObjectYouNeedToCreate3::class);
软件要求
- PHP >= 7.0
如何安装
composer require da2e/simple-factory "1.*"
许可协议
此包受MIT许可证约束。