voldern / phactory
PHP data factory
dev-master
2013-04-29 12:29 UTC
Requires
- php: >=5.3.3
- symfony/console: >=2.2.0
This package is not auto-updated.
Last update: 2024-12-21 15:08:42 UTC
README
Usage
Installation
Add voldern/phactory
as a dev dependency using composer.
{ "require-dev": { "voldern/phactory": "dev-master" } }
Defining a factory
By default factories should recide in a folder named factories
and the filename should be the same as the factory name.
Create a class extending \Phactory\Phactory
and return the attributes configuration from a method named getFieldsConfig
.
class InteractionFactory extends \Phactory\Phactory { protected function getFieldsConfig() { return array( 'feedModuleId' => array( 'type' => '\Phactory\Type\MongoId', 'generator' => 'random' ), 'type' => array( 'type' => '\Phactory\Type\String', 'generator' => 'static', 'value' => 'interaction' ), 'title' => array( 'type' => '\Phactory\Type\String', 'generator' => 'random', 'values' => array('Tittelen', 'Dette er en tittel', 'Nyhetssak', 'VM 2013 Dag 1', 'EM 2012') ), 'name' => array( 'type' => '\Phactory\Type\String', 'generator' => 'random', 'values' => array('VM 2013', 'EM 2012', 'Navnet er langt', 'Dette er en test') ), 'moderated' => array( 'type' => '\Phactory\Type\Boolean', 'generator' => 'static', 'value' => false ), 'permissions' => array( 'type' => '\Phactory\Type\ArrayType', 'generator' => 'static', 'value' => array() ), 'startDate' => array( 'type' => '\Phactory\Type\DateTime', 'generator' => 'static', 'value' => 'now' ), 'endDate' => array( 'type' => '\Phactory\Type\DateTime', 'generator' => 'random', 'range' => array('min' => '+5 minutes', 'max' => '+20 minutes') ), 'refreshRate' => array( 'type' => '\Phactory\Type\Integer', 'generator' => 'random', 'range' => array('min' => 5, 'max' => 30) ) ); } }
Running
Use the phactory CLI located in bin/
or vendor/bin/
.
The currently supported commands are:
- List factories:
phactory phactory:list
- Populate DB using factory:
phactory phactory:populate [--dir=] [-f|--file=] [--host=] [-db|--database=] [-c|--cleanup] factory table [count]
License
"THE BEER-WARE LICENSE":
Copyright (C) 2013 Espen Volden
As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me one or more beers in return.