當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Configuration::getMetadataDriverImpl方法代碼示例

本文整理匯總了PHP中Doctrine\ORM\Configuration::getMetadataDriverImpl方法的典型用法代碼示例。如果您正苦於以下問題:PHP Configuration::getMetadataDriverImpl方法的具體用法?PHP Configuration::getMetadataDriverImpl怎麽用?PHP Configuration::getMetadataDriverImpl使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Doctrine\ORM\Configuration的用法示例。


在下文中一共展示了Configuration::getMetadataDriverImpl方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: addEntityNamespaces

 /**
  * @param OrmConfiguration $configuration
  */
 public function addEntityNamespaces(OrmConfiguration $configuration)
 {
     $this->knownNamespaceAlias = array_merge($this->knownNamespaceAlias, $configuration->getEntityNamespaces());
     if ($configuration->getMetadataDriverImpl()) {
         $this->entityClassnames = array_merge($this->entityClassnames, $configuration->getMetadataDriverImpl()->getAllClassNames());
     }
 }
開發者ID:zquintana,項目名稱:SolrBundle,代碼行數:10,代碼來源:KnownNamespaceAliases.php

示例2: testSetGetMetadataDriverImpl

 public function testSetGetMetadataDriverImpl()
 {
     $this->assertSame(null, $this->configuration->getMetadataDriverImpl());
     // defaults
     $metadataDriver = $this->getMock('Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriver');
     $this->configuration->setMetadataDriverImpl($metadataDriver);
     $this->assertSame($metadataDriver, $this->configuration->getMetadataDriverImpl());
 }
開發者ID:pnaq57,項目名稱:zf2demo,代碼行數:8,代碼來源:ConfigurationTest.php

示例3: setAssociationMappings

 /**
  * Set the association mappings of a metadata.
  *
  * @param ClassMetadataInfo $metadata
  * @param Configuration     $configuration
  */
 protected function setAssociationMappings(ClassMetadataInfo $metadata, Configuration $configuration)
 {
     $supportedClasses = $configuration->getMetadataDriverImpl()->getAllClassNames();
     foreach (class_parents($metadata->getName()) as $parent) {
         if (in_array($parent, $supportedClasses)) {
             $parentMetadata = new OrmClassMetadata($parent, $configuration->getNamingStrategy());
             $configuration->getMetadataDriverImpl()->loadMetadataForClass($parent, $parentMetadata);
             foreach ($parentMetadata->getAssociationMappings() as $key => $value) {
                 if ($this->hasRelation($value['type'])) {
                     $metadata->associationMappings[$key] = $value;
                 }
             }
         }
     }
 }
開發者ID:abdeldayem,項目名稱:pim-community-dev,代碼行數:21,代碼來源:MappingsOverrideConfigurator.php

示例4: create

 /**
  * {@inheritdoc}
  */
 public static function create($conn, Configuration $config, EventManager $eventManager = null)
 {
     if (!$config->getMetadataDriverImpl()) {
         throw ORMException::missingMappingDriverImpl();
     }
     switch (true) {
         case is_array($conn):
             if (!$eventManager) {
                 $eventManager = new EventManager();
             }
             if (isset($conn['prefix']) && $conn['prefix']) {
                 $eventManager->addEventListener(Events::loadClassMetadata, new TablePrefix($conn['prefix']));
             }
             $conn = \Doctrine\DBAL\DriverManager::getConnection($conn, $config, $eventManager);
             break;
         case $conn instanceof Connection:
             if ($eventManager !== null && $conn->getEventManager() !== $eventManager) {
                 throw ORMException::mismatchedEventManager();
             }
             break;
         default:
             throw new \InvalidArgumentException("Invalid argument: " . $conn);
     }
     return new self($conn, $config, $conn->getEventManager());
 }
開發者ID:minchal,項目名稱:vero,代碼行數:28,代碼來源:EntityManager.php

示例5: setAssociationMappings

 /**
  * @param ClassMetadataInfo           $metadata
  * @param \Doctrine\ORM\Configuration $configuration
  */
 private function setAssociationMappings(ClassMetadataInfo $metadata, $configuration)
 {
     foreach (class_parents($metadata->getName()) as $parent) {
         $parentMetadata = new ClassMetadata($parent, $configuration->getNamingStrategy());
         if (in_array($parent, $configuration->getMetadataDriverImpl()->getAllClassNames())) {
             $configuration->getMetadataDriverImpl()->loadMetadataForClass($parent, $parentMetadata);
             if ($parentMetadata->isMappedSuperclass) {
                 foreach ($parentMetadata->getAssociationMappings() as $key => $value) {
                     if ($this->hasRelation($value['type'])) {
                         $metadata->associationMappings[$key] = $value;
                     }
                 }
             }
         }
     }
 }
開發者ID:thedarsideofit,項目名稱:EkinoWordpressBundle,代碼行數:20,代碼來源:LoadMetadataSubscriber.php

示例6: bootExtension

 /**
  * @param                        $connection
  * @param Extension              $extension
  * @param EntityManagerInterface $em
  * @param EventManager           $evm
  * @param Configuration          $configuration
  */
 protected function bootExtension($connection, Extension $extension, EntityManagerInterface $em, EventManager $evm, Configuration $configuration)
 {
     $extension->addSubscribers($evm, $em, $configuration->getMetadataDriverImpl()->getReader());
     if (is_array($extension->getFilters())) {
         foreach ($extension->getFilters() as $name => $filter) {
             $configuration->addFilter($name, $filter);
             $em->getFilters()->enable($name);
         }
     }
     $this->markAsBooted($connection, $extension);
 }
開發者ID:Devitek,項目名稱:orm,代碼行數:18,代碼來源:ExtensionManager.php

示例7: bootGedmoExtensions

 /**
  * Enable Gedmo Doctrine Extensions
  *
  * @param array $namespaces
  * @param bool  $all
  */
 public function bootGedmoExtensions($namespaces = ['App'], $all = true)
 {
     if ($all) {
         DoctrineExtensions::registerMappingIntoDriverChainORM($this->chain, $this->reader);
     } else {
         DoctrineExtensions::registerAbstractMappingIntoDriverChainORM($this->chain, $this->reader);
     }
     $driver = $this->metadata->getMetadataDriverImpl();
     foreach ($namespaces as $namespace) {
         $this->chain->addDriver($driver, $namespace);
     }
     $this->metadata->setMetadataDriverImpl($this->chain);
     $this->dispatcher->fire('doctrine.driver-chain::booted', [$driver, $this->chain]);
 }
開發者ID:rosstuck,項目名稱:Laravel-Doctrine,代碼行數:20,代碼來源:ExtensionManager.php

示例8: testLoadClassMetadataWithoutParent

 public function testLoadClassMetadataWithoutParent()
 {
     $this->loadClassMetadataEvent->getClassMetadata()->willReturn($this->classMetadata->reveal());
     $this->classMetadata->getName()->willReturn(get_class($this->object->reveal()));
     $this->classMetadata->setCustomRepositoryClass('Sulu\\Bundle\\ContactBundle\\Entity\\ContactRepository')->shouldNotBeCalled();
     $this->loadClassMetadataEvent->getEntityManager()->willReturn($this->entityManager->reveal());
     $this->entityManager->getConfiguration()->willReturn($this->configuration->reveal());
     $this->configuration->getNamingStrategy()->willReturn(null);
     /** @var \Doctrine\Common\Persistence\Mapping\Driver\MappingDriver $mappingDriver */
     $mappingDriver = $this->prophesize('Doctrine\\Common\\Persistence\\Mapping\\Driver\\MappingDriver');
     $this->configuration->getMetadataDriverImpl()->willReturn($mappingDriver->reveal());
     $mappingDriver->getAllClassNames()->willReturn([get_class($this->parentObject->reveal())]);
     $mappingDriver->loadMetadataForClass(get_class($this->parentObject->reveal()), Argument::type('Doctrine\\ORM\\Mapping\\ClassMetadata'))->shouldBeCalled();
     $this->subscriber->loadClassMetadata($this->loadClassMetadataEvent->reveal());
 }
開發者ID:ollietb,項目名稱:sulu,代碼行數:15,代碼來源:MetadataSubscriberTest.php

示例9: create

 public static function create($conn, Configuration $config, EventManager $eventManager = null)
 {
     if (!$config->getMetadataDriverImpl()) {
         throw ORMException::missingMappingDriverImpl();
     }
     if (is_array($conn)) {
         $conn = \Doctrine\DBAL\DriverManager::getConnection($conn, $config, $eventManager ?: new EventManager());
     } elseif ($conn instanceof Connection) {
         if ($eventManager !== null && $conn->getEventManager() !== $eventManager) {
             throw ORMException::mismatchedEventManager();
         }
     } else {
         throw new \InvalidArgumentException("Invalid argument: " . $conn);
     }
     return new OroEntityManager($conn, $config, $conn->getEventManager());
 }
開發者ID:xamin123,項目名稱:platform,代碼行數:16,代碼來源:OroEntityManager.php

示例10: create

 /**
  * Factory method to create EntityManager instances.
  *
  * @param \Doctrine\DBAL\Connection|array $conn
  * @param \Doctrine\ORM\Configuration $config
  * @param \Doctrine\Common\EventManager $eventManager
  * @throws \Doctrine\ORM\ORMException
  * @throws InvalidArgumentException
  * @throws \Doctrine\ORM\ORMException
  * @return EntityManager
  */
 public static function create($conn, Doctrine\ORM\Configuration $config, Doctrine\Common\EventManager $eventManager = NULL)
 {
     if (!$config->getMetadataDriverImpl()) {
         throw ORMException::missingMappingDriverImpl();
     }
     switch (TRUE) {
         case is_array($conn):
             $conn = DriverManager::getConnection($conn, $config, $eventManager ?: new Doctrine\Common\EventManager());
             break;
         case $conn instanceof Doctrine\DBAL\Connection:
             if ($eventManager !== NULL && $conn->getEventManager() !== $eventManager) {
                 throw ORMException::mismatchedEventManager();
             }
             break;
         default:
             throw new InvalidArgumentException("Invalid connection");
     }
     return new EntityManager($conn, $config, $conn->getEventManager());
 }
開發者ID:jirinapravnik,項目名稱:common,代碼行數:30,代碼來源:EntityManager.php

示例11: create

 /**
  * Copied from Doctrine\ORM\EntityManager, cause return use new EntityManager() instead of new static()
  *
  * @param mixed $conn
  * @param Configuration $config
  * @param EventManager|null $eventManager
  * @return EntityManager
  * @throws ORMException
  * @throws \Doctrine\DBAL\DBALException
  */
 public static function create($conn, Configuration $config, EventManager $eventManager = null)
 {
     if (!$config->getMetadataDriverImpl()) {
         throw ORMException::missingMappingDriverImpl();
     }
     switch (true) {
         case is_array($conn):
             $conn = \Doctrine\DBAL\DriverManager::getConnection($conn, $config, $eventManager ?: new EventManager());
             break;
         case $conn instanceof Connection:
             if ($eventManager !== null && $conn->getEventManager() !== $eventManager) {
                 throw ORMException::mismatchedEventManager();
             }
             break;
         default:
             throw new \InvalidArgumentException("Invalid argument: " . $conn);
     }
     return new static($conn, $config, $conn->getEventManager());
 }
開發者ID:steevanb,項目名稱:doctrine-stats,代碼行數:29,代碼來源:EntityManager.php

示例12: setCustomMappingDriverChain

 /**
  * @param array         $settings
  * @param Configuration $configuration
  */
 protected function setCustomMappingDriverChain(array $settings = [], Configuration $configuration)
 {
     $chain = new MappingDriverChain($configuration->getMetadataDriverImpl(), 'LaravelDoctrine');
     foreach (array_get($settings, 'namespaces', []) as $alias => $namespace) {
         if (is_string($alias)) {
             $configuration->addEntityNamespace($alias, $namespace);
         }
         $chain->addNamespace($namespace);
     }
     $configuration->setMetadataDriverImpl($chain);
 }
開發者ID:shuaijinchao,項目名稱:laravel-doctrine,代碼行數:15,代碼來源:EntityManagerFactory.php

示例13: getAllClassNames

 /**
  * @param Configuration $configuration
  *
  * @return array
  */
 private function getAllClassNames(Configuration $configuration)
 {
     if (!$this->classNames) {
         $this->classNames = $configuration->getMetadataDriverImpl()->getAllClassNames();
     }
     return $this->classNames;
 }
開發者ID:sulu,項目名稱:sulu,代碼行數:12,代碼來源:MetadataSubscriber.php

示例14: __construct

 public function __construct(\Doctrine\ORM\Configuration $Configuration)
 {
     $this->driver = $Configuration->getMetadataDriverImpl();
     $this->cachedMap = array();
 }
開發者ID:rocketcloudsolutions,項目名稱:rcsdoctrine2,代碼行數:5,代碼來源:Listener.php

示例15: create

 /**
  * Factory method to create EntityManager instances.
  *
  * @param array|Connection $connection   An array with the connection parameters or an existing Connection instance.
  * @param Configuration    $config       The Configuration instance to use.
  * @param EventManager     $eventManager The EventManager instance to use.
  *
  * @return EntityManager The created EntityManager.
  *
  * @throws \InvalidArgumentException
  * @throws ORMException
  */
 public static function create($connection, Configuration $config, EventManager $eventManager = null)
 {
     if (!$config->getMetadataDriverImpl()) {
         throw ORMException::missingMappingDriverImpl();
     }
     $connection = static::createConnection($connection, $config, $eventManager);
     return new EntityManager($connection, $config, $connection->getEventManager());
 }
開發者ID:AdactiveSAS,項目名稱:doctrine2,代碼行數:20,代碼來源:EntityManager.php


注:本文中的Doctrine\ORM\Configuration::getMetadataDriverImpl方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。