activpik / entity-manager-generator-bundle
Symfony 2 的实体管理器生成器包
dev-master
2013-09-13 13:14 UTC
Requires
This package is not auto-updated.
Last update: 2024-09-24 06:36:41 UTC
README
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>