konstantin-kuklin/doctrine-dto

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

This package is not auto-updated.

Last update: 2024-09-14 16:37:55 UTC


README

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

什么是DoctrineDto?

通过Doctrine从数据库中获取数据传输对象的库。如果您正在使用服务式开发方法,这个库对您可能很有用。

需求

单个依赖:Doctrine orm库。您还需要PHP >= 5.3。

安装

添加DoctrineDto的最简单方法是执行以下命令

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

使用示例

初始化Dto -> 实体类映射

// 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());

在您的代码中添加自定义 hydrator,例如

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

与Symfony一起使用

要使用Symfony框架,请访问DoctrineDtoBundle