visual-craft/deserializer-bundle
最新稳定版本:v0.1.0
Composer 安装命令:
composer require visual-craft/deserializer-bundle
包简介
Symfony Bundle for simplifying deserialization of API (or other) data
README 文档
README
Bundle for deserialization of API Responses or any other json data
Installation
$ composer require visual-craft/deserializer-bundle
- Enable in kernel (Symfony 3.4)
<?php public function registerBundles() { $bundles = [ // ... new VisualCraft\DeserializerBundle\VisualCraftDeserializerBundle(), // ... ];
Or add to bundles.php (Symfony 4.0+)
<?php return [ VisualCraft\DeserializerBundle\VisualCraftDeserializerBundle::class => ['all' => true], ];
Usage
Firstly, inject DeserializerBuilderFactory to your Controller (or service):
<?php use VisualCraft\DeserializerBundle\DeserializerBuilderFactory; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class SomeController extends Controller { // ... public function __construct(DeserializerBuilderFactory $deserializerBuilderFactory) { $this->deserializerBuilderFactory = $deserializerBuilderFactory; } // ...
Or using Service Locator:
<?php use VisualCraft\DeserializerBundle\DeserializerBuilderFactory; // ... $deserializerBuilderFactory = $this->get(DeserializerBuilderFactory::class);
- Basic usage
<?php $this->deserializerBuilderFactory ->create(SomeDataClass::class) ->getDeserializer() ->deserialize($request->getContent()) ;
- Configuring object to populate
<?php // Retrieve from storage $objectToPopulate = $repository->find(1); $this->deserializerBuilderFactory ->create(SomeDataClass::class) ->setObjectToPopulate($objectToPopulate) ->getDeserializer() ->deserialize($request->getContent()) ;
- Other features example:
<?php $this->deserializerBuilderFactory ->create(SomeDataClass::class) ->setValidationGroups(['validation_group']) // or: ->setValidationGroups(function($object) { // if (something) return ['validation_group']; // endif }) ->setDeserializationGroups(['deserialization_group']) ->getDeserializer() ->deserialize($request->getContent()) ;
License
MIT
统计信息
- 总下载量: 15.65k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-28