1
0
mirror of synced 2025-01-10 11:07:10 +03:00

Merge pull request #1190 from c960657/autogenerate-integer

Document that AUTOGENERATE_ constants are allowed
This commit is contained in:
Marco Pivetta 2014-11-21 21:54:00 +01:00
commit 88ce68e733
3 changed files with 19 additions and 12 deletions

View File

@ -25,6 +25,7 @@ use Doctrine\Common\Annotations\CachedReader;
use Doctrine\Common\Annotations\SimpleAnnotationReader; use Doctrine\Common\Annotations\SimpleAnnotationReader;
use Doctrine\Common\Cache\ArrayCache; use Doctrine\Common\Cache\ArrayCache;
use Doctrine\Common\Cache\Cache as CacheDriver; use Doctrine\Common\Cache\Cache as CacheDriver;
use Doctrine\Common\Proxy\AbstractProxyFactory;
use Doctrine\ORM\Cache\CacheConfiguration; use Doctrine\ORM\Cache\CacheConfiguration;
use Doctrine\Common\Persistence\Mapping\Driver\MappingDriver; use Doctrine\Common\Persistence\Mapping\Driver\MappingDriver;
use Doctrine\ORM\Mapping\DefaultEntityListenerResolver; use Doctrine\ORM\Mapping\DefaultEntityListenerResolver;
@ -75,29 +76,28 @@ class Configuration extends \Doctrine\DBAL\Configuration
} }
/** /**
* Gets a boolean flag that indicates whether proxy classes should always be regenerated * Gets the strategy for automatically generating proxy classes.
* during each script execution.
* *
* @return boolean * @return int Possible values are constants of Doctrine\Common\Proxy\AbstractProxyFactory.
*/ */
public function getAutoGenerateProxyClasses() public function getAutoGenerateProxyClasses()
{ {
return isset($this->_attributes['autoGenerateProxyClasses']) return isset($this->_attributes['autoGenerateProxyClasses'])
? $this->_attributes['autoGenerateProxyClasses'] ? $this->_attributes['autoGenerateProxyClasses']
: true; : AbstractProxyFactory::AUTOGENERATE_ALWAYS;
} }
/** /**
* Sets a boolean flag that indicates whether proxy classes should always be regenerated * Sets the strategy for automatically generating proxy classes.
* during each script execution.
* *
* @param boolean|int $bool Possible values are constants of Doctrine\Common\Proxy\AbstractProxyFactory * @param boolean|int $autoGenerate Possible values are constants of Doctrine\Common\Proxy\AbstractProxyFactory.
* True is converted to AUTOGENERATE_ALWAYS, false to AUTOGENERATE_NEVER.
* *
* @return void * @return void
*/ */
public function setAutoGenerateProxyClasses($bool) public function setAutoGenerateProxyClasses($autoGenerate)
{ {
$this->_attributes['autoGenerateProxyClasses'] = $bool; $this->_attributes['autoGenerateProxyClasses'] = (int)$autoGenerate;
} }
/** /**

View File

@ -61,7 +61,8 @@ class ProxyFactory extends AbstractProxyFactory
* @param \Doctrine\ORM\EntityManager $em The EntityManager the new factory works for. * @param \Doctrine\ORM\EntityManager $em The EntityManager the new factory works for.
* @param string $proxyDir The directory to use for the proxy classes. It must exist. * @param string $proxyDir The directory to use for the proxy classes. It must exist.
* @param string $proxyNs The namespace to use for the proxy classes. * @param string $proxyNs The namespace to use for the proxy classes.
* @param boolean|int $autoGenerate Whether to automatically generate proxy classes. * @param boolean|int $autoGenerate The strategy for automatically generating proxy classes. Possible
* values are constants of Doctrine\Common\Proxy\AbstractProxyFactory.
*/ */
public function __construct(EntityManager $em, $proxyDir, $proxyNs, $autoGenerate = AbstractProxyFactory::AUTOGENERATE_NEVER) public function __construct(EntityManager $em, $proxyDir, $proxyNs, $autoGenerate = AbstractProxyFactory::AUTOGENERATE_NEVER)
{ {

View File

@ -37,10 +37,16 @@ class ConfigurationTest extends PHPUnit_Framework_TestCase
public function testSetGetAutoGenerateProxyClasses() public function testSetGetAutoGenerateProxyClasses()
{ {
$this->assertSame(true, $this->configuration->getAutoGenerateProxyClasses()); // defaults $this->assertSame(AbstractProxyFactory::AUTOGENERATE_ALWAYS, $this->configuration->getAutoGenerateProxyClasses()); // defaults
$this->configuration->setAutoGenerateProxyClasses(false); $this->configuration->setAutoGenerateProxyClasses(false);
$this->assertSame(false, $this->configuration->getAutoGenerateProxyClasses()); $this->assertSame(AbstractProxyFactory::AUTOGENERATE_NEVER, $this->configuration->getAutoGenerateProxyClasses());
$this->configuration->setAutoGenerateProxyClasses(true);
$this->assertSame(AbstractProxyFactory::AUTOGENERATE_ALWAYS, $this->configuration->getAutoGenerateProxyClasses());
$this->configuration->setAutoGenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS);
$this->assertSame(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS, $this->configuration->getAutoGenerateProxyClasses());
} }
public function testSetGetProxyNamespace() public function testSetGetProxyNamespace()