dknx01 / factory-muffin-backery
FactoryMuffin 的后端烘焙店。通过别名创建对象,包括只在实例化时设置参数
dev-master
2017-03-26 10:22 UTC
Requires
- league/factory-muffin: ^3.0
- league/factory-muffin-faker: 2.0.*
Requires (Dev)
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2024-09-15 07:45:52 UTC
README
FactoryMuffinBackery
Factory Muffin(《https://github.com/thephpleague/factory-muffin》)的包装器
使用方法
Muffin 类
Dknx01\FactoryMuffinBackery\DVO\Muffin
setObjectClass: 设置完整的类名
setCreatorMethod: 设置创建方法:create, instance, seed
setArguments: 设置对象的参数
setSeedTimes: 设置要创建的对象数量
setMaker: 设置一个制作函数
setCallback: 设置一个回调函数
示例类
namespace dknx01\FactoryMuffinBackery\Test;
class TestStub
{
}
use Dknx01\FactoryMuffinBundle\DVO\Muffin;
use Dknx01\FactoryMuffinBundle\MuffinBackery;
use League\FactoryMuffin\FactoryMuffin;
use League\FactoryMuffin\Stores\ModelStore;
class TestFactory
{
/**
* @var MuffinBackery
*/
private $backery;
public function createObject()
{
$this->backery = new MuffinBackery();
$this->backery->setFactoryMuffin(new FactoryMuffin(new ModelStore()));
$muffin = new Muffin();
$muffin->setObjectClass(TestStub::class)->setCreatorMethod('instance');
$this->backery->addMuffin($muffin, 'myStub');
}
/**
* @return MuffinBackery
*/
public function getBackery(): MuffinBackery
{
return $this->backery;
}
}
测试类
class DefaultControllerTest extends TestCase
{
public function testIndex()
{
$factory = new TestFactory();
$factory->createObject();
var_dump($factory->getBackery()->load()->getByAlias('myStub'));
}
}