chriskite / phactory
A Database Factory for PHP Unit Tests
Installs: 213 646
Dependents: 12
Suggesters: 0
Security: 0
Stars: 140
Watchers: 6
Forks: 38
Open Issues: 17
pkg:composer/chriskite/phactory
Requires
- php: >=5.3.0
 
This package is not auto-updated.
Last update: 2025-10-25 18:57:18 UTC
README
What is it?
Phactory is an alternative to using database fixtures in your PHP unit tests. Instead of maintaining a separate XML file of data, you define a blueprint for each table, and then create as many different objects as you need.
Phactory was inspired by Factory Girl.
Features
- Define default values for your table rows once with Phactory::define(), then easily create objects in that table with a call to Phactory::create().
 - Create associations between your defined tables, and the objects will automatically be associated in the database upon creation.
 - Use sequences to create unique values for each successive object you create.
 
Database Support
- MySQL
 - Sqlite
 - Postgresql
 
Language Support
- PHP >= 5.3
 
Limitations
- Each table must have a single integer primary key for associations to work.