В настоящее время у меня есть контроллер и фабрика контроллеров
AbcControllerFactory
public function __invoke(ContainerInterface $container, $requestedName, array $options = null){
$entityManager = $container->get("doctrine.entitymanager.orm_default");
return new AbcController($entityManager);
}
И AbcController
private $entityManager;
public function __construct($entityManager){
$this->entityManager = $entityManager;
}
Я пытаюсь использовать эту библиотеку доктрин
библиотека доктрины для функций json
но единственная проблема в том, что я застрял в добавлении этих функций
$config = new \Doctrine\ORM\Configuration();
$config->addCustomStringFunction(DqlFunctions\JsonExtract::FUNCTION_NAME, DqlFunctions\JsonExtract::class);
$config->addCustomStringFunction(DqlFunctions\JsonSearch::FUNCTION_NAME, DqlFunctions\JsonSearch::class);
Я довольно новичок в этой доктрине. Может ли кто-нибудь помочь, как мне добавить эту функцию в существующую конфигурацию диспетчера сущностей?
Это мой файл local.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(DqlFunctions\JsonExtract::FUNCTION_NAME, DqlFunctions\JsonExtract::class);
$this->entityManager->getConfiguration()->addCustomStringFunction(DqlFunctions\JsonSearch::FUNCTION_NAME, DqlFunctions\JsonSearch::class);