LaravelPackages.net
Acme Inc.
Toggle sidebar
talyssonoc/phactory-laravel

Use Phactory inside Laravel

16
2
v0.1
About talyssonoc/phactory-laravel

talyssonoc/phactory-laravel is a Laravel package for use phactory inside laravel. It currently has 2 GitHub stars and 16 downloads on Packagist (latest version v0.1). Install it with composer require talyssonoc/phactory-laravel. Discover more Laravel packages by talyssonoc or browse all Laravel packages to compare alternatives.

Last updated

Phactory Laravel

With Phactory Laravel you'll be able to use Phactory with Laravel 5.

If you don't know what Phactory is:

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 in your PHP code.

Phactory Laravel will access the database based on your Laravel config, simple as that.

Be aware that you must specify a testing database, otherwise Phactory Laravel will insert data in your development database.

Installation

First you need to add this to your composer.json requires:

	"talyssonoc/phactory-laravel": "dev-master"

Then set the minimum-stability of your dependencies to dev, adding this to your composer.json:

	"minimum-stability": "dev"

Then run:

	$ composer install

After that you should add this to your service providers (at config/app.php):

	'PhactoryLaravel\PhactoryServiceProvider'

And that to your aliases (at the same file):

	'Phactory'	=> 'PhactoryLaravel\\Phactory'

After that, Phactory facade will be available for you to use.

Creating a factory

Yours factories must be inside the folder app/Factories, and you should use the API provided by Phactory. The content of each file must be something like this:

<?php

	Phactory::define('user', [
	  'name' => 'UserName :D'
	]);

Laravel 5.1

Note that is is not entirely necessary with Laravel 5.1, since it has model factories out-of-box, but you can still use Phactory Laravel with Laravel 5.1 if you prefer.

To do

  • [ ] Make configurable the Factories folder
  • [ ] Add support to Laravel MongoDB
Comments