【问题标题】:zend framewok 2 doctrine 2 , naming strategy to underscorezend framework 2学说2,命名策略要下划线
【发布时间】:2016-01-29 15:08:22
【问题描述】:
我必须在哪里添加此代码才能将命名策略更改为带有 zend 框架 2 的学说 2 中的 UnderscoreNamingStrategy
$namingStrategy = new MyNamingStrategy();
$configuration()->setNamingStrategy($namingStrategy);
我没有 yaml 文件。
【问题讨论】:
标签:
zend-framework
doctrine-orm
zend-framework2
doctrine
【解决方案1】:
这是一个例子:
use Doctrine\Common\Annotations\AnnotationReader,
Doctrine\Common\Cache\ArrayCache,
Doctrine\ORM\Configuration,
Doctrine\ORM\EntityManager,
Doctrine\ORM\Mapping\Driver\AnnotationDriver;
$config = new Configuration;
$config->setMetadataCacheImpl(new ArrayCache());
$driverImpl = new AnnotationDriver(new AnnotationReader(), '/path/to/entities');
$config->setMetadataDriverImpl($driverImpl);
$config->setNamingStrategy(new MyNamingStrategy());
$connectionOptions = array(
'url' => 'sqlite:///:memory:'
);
$this->entityManager = EntityManager::create($connectionOptions, $config);
【解决方案2】:
在你的 module.config.php 中包含这个
<?php
use Doctrine\ORM\Mapping\UnderscoreNamingStrategy;
use Zend\ServiceManager\Factory\InvokableFactory;
return [
'doctrine' => [
'configuration' => [
'orm_default' => [
'naming_strategy' => UnderscoreNamingStrategy::class,
],
],
],
'service_manager' => [
'factories' => [
UnderscoreNamingStrategy::class => InvokableFactory::class,
],
],
];