ssa/doctrine

关于此包的最新版本(dev-master)没有可用的许可证信息。

为 ssa 框架添加 doctrine 解析器。

dev-master 2015-04-30 15:31 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:59:23 UTC


README

ssa/doctrine 是 ssa 的一个扩展。此扩展允许您直接在实体上直接转换 ID。

工作状态

在 symfony 中添加 ssa 参数解析器。它可以转换 JSON 对象到您的 doctrine 实体。例如:实体

Product :
  - id
  - name
  - price
  

数据库

Id | 名称 | 价格

1 | Foo | 10.0

ProductService.php

class ProductService {
    private $em;
    
    public function __construct(EntityManagerInterface $em) {
        $this->em = $em;
    }
    
    public function getProduct(Product $p) {
        return $p;
    }

    public function updateProduct(Product $p) {
        $this->em->persist($p);
        $this->em->flush();
        return $p;
    }
}

JavaScript 调用

productService.getProduct({id : 1}).done(function(data){
  // data.id = 1
  // data.name = "Foo"
  // data.price = 10.0
});

productService.updateProduct({name : 'Bar', price : 15}).done(function(data){
  // data.id = AutoGenerated value
  // data.name = 'Bar'
  // data.price = 15
});

productService.updateProduct({id : 1, price : 11.5}).done(function(data){
  // data.id = 1
  // data.name = 'Foo'
  // data.price = 11.5
});

配置

要将此扩展添加到 ssa

  • 在您的 composer.json 中添加 ssa/doctrine 依赖项
  • 在 DefaultParameterResolver 中添加 DoctrineObjectResolver

Configuration.php

use ssa\runner\resolver\impl\DefaultParameterResolver;
use ssa\runner\resolver\DoctrineObjectResolver;

// add the doctrine resolver
// this resolver need know your entity manager
DefaultParameterResolver::createDefaultParameterResolver()
	->addObjectResolver(new DoctrineObjectResolver($entityManager));