jojo1981/data-resolver-handlers

数据解析器处理器

4.0.0 2023-02-10 12:43 UTC

This package is auto-updated.

Last update: 2024-09-10 15:58:33 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads License

作者:Joost Nijhuis <jnijhuis81@gmail.com>

这个库是jojo1981/data-resolver包的扩展,包含自定义处理器,增加了与一些第三方库协同工作的支持。

该库支持以下内容

  • Doctrine\Common\Collections\Collection包中的实例,来自doctrine/collections包。
  • Jojo1981\TypedCollection\Collection包中的实例,来自jojo1981/typed-collection包。

安装

git clone https://github.com/jojo1981/data-resolver-handlers.git

Composer

安装PHP Composer

composer require jojo1981/data-resolver-handlers

使用方法

<?php

require 'vendor/autoload.php';

// get factory and register handlers
$factory = (new \Jojo1981\DataResolver\Factory())
    ->useDefaultSequenceHandlers()
    ->registerSequenceHandler(new \Jojo1981\DataResolverHandlers\DoctrineCollectionSequenceHandler())
    ->registerSequenceHandler(new \Jojo1981\DataResolverHandlers\TypedCollectionSequenceHandler())
    ->setMergeHandler(
        new \Jojo1981\DataResolverHandlers\DoctrineCollectionMergeHandlerDecorator(
            new \Jojo1981\DataResolverHandlers\TypedCollectionMergeHandlerDecorator(
                new \Jojo1981\DataResolver\Handler\MergeHandler\DefaultMergeHandler()    
            )
        )
    );

// get resolver builder factory
$resolverBuilderFactory = $factory->getResolverBuilderFactory();

// and you're ready to go