maxipost / form-strategy
There is no license information available for the latest version (v1.1.1) of this package.
Form strategy for hydration
v1.1.1
2019-06-11 15:11 UTC
Requires
- php: >=7.1
- zendframework/zend-hydrator: ^2.4
Requires (Dev)
- phpstan/phpstan: ^0.11.5
- phpstan/phpstan-phpunit: ^0.11.0
- phpstan/phpstan-strict-rules: ^0.11.0
- phpunit/phpunit: 7.0
This package is not auto-updated.
Last update: 2019-11-08 11:52:19 UTC
README
composer require maxipost/form-strategy
Example hydrate
(new FormStrategyBuilder)->buildFromArray(
[
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField1' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
],
'testField2' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField3' => [FormStrategyBuilder::DTO => TestClass\TestClass::class],
],
],
'testField4' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::IS_ARRAY => true,
],
'testField5Single' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::SINGLE_NAME => 'test',
],
],
]
)->hydrate([
'testField1' => ['test' => 'test'],
'testField2' => [
'test' => 'test',
'testField3' => ['test' => 'test'],
],
'testField4' => [
['test' => 'test'],
['test' => 'test'],
],
'testField5Single' => 'single',
]);
Example extract
(new FormStrategyBuilder)->buildFromArray([
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField1' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
],
'testField2' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::NESTED_FIELDS => [
'testField3' => [FormStrategyBuilder::DTO => TestClass\TestClass::class],
],
],
'testField4' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::IS_ARRAY => true,
],
'testField5Single' => [
FormStrategyBuilder::DTO => TestClass\TestClass::class,
FormStrategyBuilder::SINGLE_NAME => 'test',
],
],
])->extract(
$data
);