abacaphiliac / zend-transformer
提取和填充,外加秘制酱料。
0.1.1
2017-03-06 03:33 UTC
Requires
- php: >=5.5
- beberlei/assert: ^2.6
- igorw/get-in: ^1.0
- zendframework/zend-filter: ^2.0
- zendframework/zend-hydrator: ^2.0
- zendframework/zend-modulemanager: ^2.0
- zendframework/zend-mvc: ^2.0
- zendframework/zend-servicemanager: ^2.0
- zendframework/zend-validator: ^2.0
Requires (Dev)
- humbug/humbug: 1.0.0-alpha2
- jakub-onderka/php-parallel-lint: ^0.9
- phing/phing: ^2.15
- phpunit/phpunit: ^5.7|^4.8
- squizlabs/php_codesniffer: ^2.8
This package is auto-updated.
Last update: 2024-08-25 11:43:40 UTC
README
abacaphiliac/zend-transformer
一个基于Zend Framework提取、填充和验证抽象的对象到对象ETL包。
包含一个PluginManager,通过应用程序配置注册转换规范,以及一个ZF2模块来连接所有配置。
需要 >=php55,当前支持ZF2但不支持ZF3。
安装
composer require abacaphiliac/zend-transformer
使用
在您的应用程序配置中注册转换器
return [ 'abacaphiliac/zend-transformer' => [ 'transformers' => [ 'SimpleFooBarToFizBuz' => [ 'inputClass' => \AbacaphiliacTest\FooBar::class, 'keyMap' => [ 'foo' => 'fiz', 'bar' => 'buz', ], 'outputClass' => \AbacaphiliacTest\FizBuz::class, ], ], ], ];
转换一些数据!
$transformers = $serviceLocator->get('TransformerManager'); $transformer = $transformers->get('SimpleFooBarToFizBuz'); $input = new \AbacaphiliacTest\FooBar('Foo', 'Bar'); $output = $transformer->transform($input, \AbacaphiliacTest\FizBuz::class);
复杂配置
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, ], ], ];
贡献
composer update && vendor/bin/phpunit