PHPackages                             davidbadura/fixtures - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. davidbadura/fixtures

AbandonedArchivedLibrary[Database &amp; ORM](/categories/database)

davidbadura/fixtures
====================

A library to load yaml, json or php fixtures. Easy extendable, resolve object dependency and validate objects.

1.3.2(4y ago)2369.2k10[2 issues](https://github.com/DavidBadura/Fixtures/issues)[5 PRs](https://github.com/DavidBadura/Fixtures/pulls)1MITPHPPHP ^7.4|^8.0

Since Nov 6Pushed 4mo ago5 watchersCompare

[ Source](https://github.com/DavidBadura/Fixtures)[ Packagist](https://packagist.org/packages/davidbadura/fixtures)[ RSS](/packages/davidbadura-fixtures/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (8)Dependencies (16)Versions (14)Used By (1)

davidbadura\\fixtures
=====================

[](#davidbadurafixtures)

[![Build Status](https://camo.githubusercontent.com/fd91a1e82d0db53e18fd125390a56bba8ebe0045fd4fb4fd022d5f0074fc217c/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f44617669644261647572612f46697874757265732e706e67)](http://travis-ci.org/DavidBadura/Fixtures)[![Latest Stable Version](https://camo.githubusercontent.com/60655776a1bc20b5f2eaebf0b1b9b8337551eeae1c52126661bc61910b6db8b6/68747470733a2f2f706f7365722e707567782e6f72672f64617669646261647572612f66697874757265732f762f737461626c652e706e67)](https://packagist.org/packages/davidbadura/fixtures)[![Total Downloads](https://camo.githubusercontent.com/2f0c655b4f7f5fe662bf6c08a3572b9ac5f96c126a369bf01bd17e1ef2b99d4e/68747470733a2f2f706f7365722e707567782e6f72672f64617669646261647572612f66697874757265732f646f776e6c6f6164732e706e67)](https://packagist.org/packages/davidbadura/fixtures)[![License](https://camo.githubusercontent.com/e3e7a840eea7b1c3566302ee0b632caa9d56bfb487d1631a6b1395b468f7bb7c/68747470733a2f2f706f7365722e707567782e6f72672f64617669646261647572612f66697874757265732f6c6963656e7365)](https://packagist.org/packages/davidbadura/fixtures)

Features:

- Use Services like [fzaninotto/Faker](https://github.com/fzaninotto/Faker), a PHP library that generates fake data for you
- Resolve object dependency automatically (also bidirectional references)
- Configurable default fixture converter (constructor, properties, set\* and add\* methods)
- Easy to create your own converter
- Many fixtures loader: Yaml, Json, Toml und PHP
- Extendable by events (currently with [symfony/event-dispatcher](http://symfony.com/doc/current/components/event_dispatcher/index.html))
- Fixture filtering by tags
- Object validation (currently with [symfony/validator](http://symfony.com/doc/current/book/validation.html) over events)
- Persist Fixtures with Doctrine ORM, Doctrine MongoDb or Propel
- Easy to add your own Persister
- Use an expression-language with [symfony/expression-language](http://symfony.com/doc/current/components/expression_language/index.html)

Todos:

- Add cli functionality.
- Translate documentation ( my english is really bad ;) )
- Write documentation

Documentation
-------------

[](#documentation)

- [Symfony](https://github.com/DavidBadura/Fixtures/blob/master/doc/symfony.md)
- [FixtureManager](https://github.com/DavidBadura/Fixtures/blob/master/doc/fixture_manager.md)
- [Fixtures](https://github.com/DavidBadura/Fixtures/blob/master/doc/fixtures.md)
- [Loader](https://github.com/DavidBadura/Fixtures/blob/master/doc/loader.md)
- [Converter](https://github.com/DavidBadura/Fixtures/blob/master/doc/converter.md)
- [ServiceProvider](https://github.com/DavidBadura/Fixtures/blob/master/doc/service_provider.md)
- [Validator](https://github.com/DavidBadura/Fixtures/blob/master/doc/validator.md)
- [ExpressionLanguage](https://github.com/DavidBadura/Fixtures/blob/master/doc/expression_language.md)

Installation
------------

[](#installation)

You can easily install this package over composer

```
composer require 'davidbadura/fixtures'

```

Useage
------

[](#useage)

First, you must create fixtures files in yaml, json, toml, php or mixed. In this example, we have different formats:

**YAML**

```
user:
  properties:
    class: DavidBadura\Fixtures\TestObjects\User
    constructor: [name, email]
  data:
    david:
      name: "David Badura"
      email: "d.badura@gmx.de"
      group: ["@group:owner", "@group:developer"]
      role: ["@role:admin"]
    other:
      name: "Somebody"
      email: "test@example.de"
      group: ["@group:developer"]
      role: ["@role:user"]

```

**PHP**

```
