grossum / custom-entity-manager
自定义实体管理包
v0.1.1
2018-04-13 13:22 UTC
Requires
- php: >=5.6 || ^7.0
- symfony/framework-bundle: ~2.7 || ~3.0
This package is not auto-updated.
Last update: 2024-09-14 17:48:17 UTC
README
安装
步骤 1:下载包
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此包的最新稳定版本
$ composer require grossum/custom-entity-manager
此命令需要您全局安装Composer,请参阅Composer文档中的安装章节。
步骤 2:启用包
然后,通过在您的项目中的app/AppKernel.php
文件中添加以下行来启用此包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Grossum\CustomEntityManagerBundle\GrossumCustomEntityManagerBundle(), ); // ... } // ... }
步骤 3:服务配置
您需要在实体管理器服务定义中添加标签 name
tags: // ... - {name: entity.custom_manager}
您的实体管理器类必须实现ManagedClassNameInterface接口,并通过getManagedClassName
方法提供管理的类的完整名称。
步骤 4:使用
// ... /** @var EntityManagerLoader $entityManagerLoader */ private $entityManagerLoader; // ... public function __construct( EntityManagerLoader $entityManagerLoader, // ... ) { $this->entityManagerLoader = $entityManagerLoader; // ... } // ... /** * param string $className * return ManagedClassNameInterface */ public function getEntityManagerByClassName($className) { return $this->entityManagerLoader->getManagerForClass($className); } // ...