alanwillms / phactory
一个用于生成测试数据的 PHP 库
1.1.4
2013-05-31 04:28 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-29 04:21:42 UTC
README
(ver documentação em português)
一个用于创建测试数据的 PHP 库。设计上注重简单和可扩展性。
用法
定义工厂如下
<?php class UserPhactory { public function blueprint() { return array( 'name' => 'User #{sn}', 'activated' => true, ); } public function admin() { return array( 'isadmin' => true, ); } }
然后使用它们
<?php $user = Phactory::user(); echo $user->name; // 'User 0001' echo $user->activated ? 'true' : 'false'; // 'true' $admin = Phactory::user('admin'); echo $user->name; // 'User 0002' echo $user->activated ? 'true' : 'false'; // 'true' echo $user->isadmin ? 'true' : 'false'; // 'true'
这仅仅是 Phactory 允许您做的基本操作,也支持固定值、依赖关系和关系,阅读维基文档获取更多信息。
它不做的事情
Phactory 不了解您的数据库或 ORM,这是有意为之。Phactory 不是试图支持所有 ORM,而是设计得易于扩展以支持所需的内容。例如,使用我们上面的 UserPhactory
<?php class User {} class MyCustomBuilder extends \Phactory\Builder { protected function toObject($name, $values) { $object = new $name; foreach ($values as $key => $value) { $object->$key = $value; } return $object; } } Phactory::builder(new MyCustomBuilder); $user = Phactory::user(); echo get_class($user); // 'User'
状态
至 v1.1.4
安装
通过 composer
{ "require-dev": { "rbone/phactory": "1.1.*" } }
通过 GIT
git clone git://github.com/rbone/phactory.git
<?php
require 'phactory/bootstrap.php';