如何在 zend 框架 3 中的实体管理器配置原则中添加函数



我目前有一个控制器和一个控制器工厂

控制器工厂

public function __invoke(ContainerInterface $container, $requestedName, array $options = null){
    $entityManager                   =  $container->get("doctrine.entitymanager.orm_default");
    return new AbcController($entityManager);
}

和 abc控制器

private $entityManager;
public function __construct($entityManager){
    $this->entityManager             =  $entityManager;
}

我正在尝试使用此教义库

JSON 函数的学说库

但唯一的问题是我被困在添加这些功能上

$config = new DoctrineORMConfiguration();
$config->addCustomStringFunction(DqlFunctionsJsonExtract::FUNCTION_NAME, DqlFunctionsJsonExtract::class);
$config->addCustomStringFunction(DqlFunctionsJsonSearch::FUNCTION_NAME, DqlFunctionsJsonSearch::class);

我对这个学说相当陌生。任何人都可以帮忙如何在现有的实体管理器配置中添加这些功能

这是我存储所有信息的本地.php文件

return [
"doctrine" => [
    "connection" => [
        "orm_default" => [
            "driverClass" => PDOMySqlDriver::class,
            "params" => [
                "driver"             => "pdo_mysql",
                "dsn"                => "mysql:dbname=abc;host=localhost;charset=utf8",
                "host"     => "localhost",
                "user"     => "root",
                "password" => "",
                "dbname"   => "abc",
            ]
        ],
    ],
],

];

好吧,

这对我来说有点迟钝。但是,我发现您可以在控制器中添加这样的功能:

$this->entityManager->getConfiguration()->addCustomStringFunction(DqlFunctionsJsonExtract::FUNCTION_NAME, DqlFunctionsJsonExtract::class);
$this->entityManager->getConfiguration()->addCustomStringFunction(DqlFunctionsJsonSearch::FUNCTION_NAME, DqlFunctionsJsonSearch::class);

最新更新