activpik/entity-manager-generator-bundle

Symfony 2 的实体管理器生成器包

安装: 24

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 1

开放问题: 0

类型:symfony-bundle

dev-master 2013-09-13 13:14 UTC

This package is not auto-updated.

Last update: 2024-09-24 06:36:41 UTC


README

Build Status

Symfony 2 的实体管理器生成器

仅适用于具有 services.xml 配置文件的包。下一个版本将支持其他格式。

安装

在您的 composer.json 的 require 部分添加此行

        "activpik/entity-manager-generator-bundle": "dev-master"

使用 composer 更新您的依赖

	php composer.phar update

更新您的 AppKernel 文件

$bundles = array(
...
new Activpik\EntityManagerGeneratorBundle\ActivpikEntityManagerGeneratorBundle(),
...
);

使用方法

php app/console doctrine:generate:entitymanager ActivpikManagerBundle:Video

此命令将在与您的 Video Entity 相同的目录中生成一个 VideoManager 类。

在控制器中调用实体管理器

$this->get("activpik_manager.video_manager");

获取 Doctrine 实体存储库

$this->get("activpik_manager.video_manager")->getRepository();

此工具生成的内容:实体目录中的基本实体管理器

对于我们的上一个示例,结果是:在 src/Activpik/ManagerBundle/Entity/VideoManager.php

<?php

namespace Activpik\ManagerBundle\Entity;

use Doctrine\ORM\EntityManager;

class VideoManager {

	protected $em;

	public function __construct(EntityManager $em) {

		$this->em = $em;
	}



	public function save(Video $entity){

		$this->em->persist($entity);
		$this->em->flush();
	}



	public function getRepository(){
		return $this->em->getRepository('ActivpikManagerBundle:Video');
	}

}

在 service.xml 中添加以下行

<parameters>
...
<parameter key="activpik_manager.video_manager.class">Activpik\ManagerBundle\Entity\VideoManager</parameter>
...
</parameters>

<services>
...
	<service id="activpik_manager.video_manager" class="%activpik_manager.video_manager.class%"><argument type="service" id="doctrine.orm.entity_manager"/></service>
...
</services>