konstantin-kuklin/doctrine-dto

dev-master 2015-07-12 11:55 UTC

This package is not auto-updated.

Last update: 2024-10-26 17:18:53 UTC


README

Build Status Scrutinizer Code Quality Code Coverage GitHub release Total Downloads Daily Downloads Minimum PHP Version License

What is DoctrineDto?

Library for getting Data Transfer Object from a database through Doctrine. If you are using a service approach to development, this library can be useful for you.

Requirements

Single dependency: Doctrine orm library Also you need to have PHP >= 5.3

Installation

The simplest way to add DoctrineDto is execute command:

composer require "konstantin-kuklin/doctrine-dto" "dev-master"

Usage example

Initialize Dto -> Entity class map:

// static map rules here:
$map = new Map(
    array(
        'Path\To\UserEntity' => 'Path\To\UserDto',
        'Path\To\AnotherEntity' => 'Path\To\AnotherDto'
    )
);
// class to dynamic class map generation
$map->addMapGeneratorElement(new EntityDtoSimpleGenerator());

// set class map
DtoClassMap::setMap($map, $map->getFlippedMap());

Add custom hydrator in your code with such example:

$em->getConfiguration()->addCustomHydrationMode('DtoHydrator', 'KonstantinKuklin\DoctrineDto\Hydrator\DtoHydrator');
$query = $em->createQuery('SELECT u FROM CmsUser u');
$results = $query->getResult('DtoHydrator');

Usage with Symfony

For using with Symfony framework go to DoctrineDtoBundle.