grossum / custom-entity-manager

自定义实体管理包

安装: 366

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 8

分支: 2

开放问题: 1

类型:symfony-bundle

v0.1.1 2018-04-13 13:22 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:48:17 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

安装

步骤 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);
}
// ...