tarnawski/fixtures

Tool to help manage fixtures in a PHP project

dev-master 2018-04-18 19:59 UTC

This package is auto-updated.

Last update: 2024-12-15 01:03:03 UTC


README

Tool to help manage fixtures in a PHP project

Build Status

Installation

$ composer require tarnawski/fixtures

Supported type of fixtures file

YAML

document:
  - id: 1
    name: Secret document
    status: draft
  - id: 2
    name: Other document
    status: published

JSON

{
  "document": [
      {
        "id": "1",
        "name": "Secret document",
        "status": "draft"
      },
      {
        "id": "2",
        "name": "Other document",
        "status": "published"
      }
    ]
}

XML

<?xml version="1.0" encoding="UTF-8"?>
<fixtures>
    <document>
        <id>1</id>
        <name>Secret document</name>
        <status>draft</status>
    </document>
    <document>
        <id>2</id>
        <name>Other document</name>
        <status>published</status>
    </document>
</fixtures>

Usage standalone

$loader = new FileLoader();
$parser = new JSONParser();
$driver = new PDODriver('database', 'host', 'port', 'user', 'passoword');
$fixtureBuilder = new FixtureBuilder($loader, $parser, $driver);
$fixtureBuilder->load('fixtures/document.json');

Usage with Symfony

  1. Enable the Bundle:
$bundles = array(
    new Fixture\Bridge\Symfony\FixtureBundle(),
);
  1. Configure the Bundle:
fixture:
    path: '%kernel.project_dir%/fixtures/document.json'
    loader: 'file'
    parser: 'json'
    driver: 'pdo'
  1. Run command:
php bin/console fixture:load