abacaphiliac/zend-transformer 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

abacaphiliac/zend-transformer

Composer 安装命令:

composer require abacaphiliac/zend-transformer

包简介

Extract and Hydrate, plus secret sauce.

README 文档

README

Scrutinizer Code Quality Code Coverage Build Status

abacaphiliac/zend-transformer

An object-to-object ETL package, based on Zend Framework extraction, hydration, and validation abstractions.

Includes a PluginManager for registering transformation specs via application config, and a ZF2 module to wire up all configuration.

Requires >=php55, and supports ZF2 but not ZF3 at this time.

Installation

composer require abacaphiliac/zend-transformer

Usage

Register transformers in your application config:

return [
    'abacaphiliac/zend-transformer' => [
        'transformers' => [
            'SimpleFooBarToFizBuz' => [
                'inputClass' => \AbacaphiliacTest\FooBar::class,
                'keyMap' => [
                    'foo' => 'fiz',
                    'bar' => 'buz',
                ],
                'outputClass' => \AbacaphiliacTest\FizBuz::class,
            ],
        ],
    ],
];

Transform some data!

$transformers = $serviceLocator->get('TransformerManager');
$transformer = $transformers->get('SimpleFooBarToFizBuz');

$input = new \AbacaphiliacTest\FooBar('Foo', 'Bar');
$output = $transformer->transform($input, \AbacaphiliacTest\FizBuz::class);

Complex configuration:

return [
    'abacaphiliac/zend-transformer' => [
        'transformers' => [
            'ComplexFooBarToFizBuz' => [
                'input_validator' => 'MyInputValidatorFromValidatorManager',
                'extractor' => 'MyExractorFromHydratorManager',
                'transformer' => 'MyTransformerFromServiceManager',
                'hydrator' => 'MyHydratorFromHydratorManager',
                'output_validator' => 'MyOutputValidatorFromValidatorManager',
            ],
        ],
    ],
    'service_manager' => [
        'invokables' => [
            'MyTransformerFromServiceManager' => function (array $data) {
                // Don't do this in production, as the config cannot be cached.
                return [];
            },
        ],
    ],
    'validators' => [
        'invokables' => [
            'MyInputValidatorFromValidatorManager' => \Zend\Validator\ValidatorChain::class,
            'MyOutputValidatorFromValidatorManager' => \Zend\Validator\ValidatorChain::class,
        ],
    ],
    'hydrators' => [
        'invokables' => [
            'MyExractorFromHydratorManager' => \Zend\Hydrator\ClassMethods::class,
            'MyHydratorFromHydratorManager' => \Zend\Hydrator\ClassMethods::class,
        ],
    ],
];

Contributing

composer update && vendor/bin/phpunit

This library attempts to comply with PSR-1, PSR-2, and PSR-4. If you notice compliance oversights, please send a patch via pull request.

统计信息

  • 总下载量: 16
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-03-05

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固