maxipost / form-strategy
There is no license information available for the latest version (v1.1.1) of this package.
Form strategy for hydration
This package's canonical repository appears to be gone and the package has been frozen as a result.
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
);