当前位置: 首页>>代码示例>>PHP>>正文


PHP MappingException::fileMappingDriversRequireConfiguredDirectoryPath方法代码示例

本文整理汇总了PHP中Doctrine\ORM\Mapping\MappingException::fileMappingDriversRequireConfiguredDirectoryPath方法的典型用法代码示例。如果您正苦于以下问题:PHP MappingException::fileMappingDriversRequireConfiguredDirectoryPath方法的具体用法?PHP MappingException::fileMappingDriversRequireConfiguredDirectoryPath怎么用?PHP MappingException::fileMappingDriversRequireConfiguredDirectoryPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Doctrine\ORM\Mapping\MappingException的用法示例。


在下文中一共展示了MappingException::fileMappingDriversRequireConfiguredDirectoryPath方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getAllClassNames

 public function getAllClassNames()
 {
     if (null === $this->_classCache) {
         $this->initialize();
     }
     $classes = array();
     if ($this->_paths) {
         foreach ((array) $this->_paths as $path) {
             if (!is_dir($path)) {
                 throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath($path);
             }
             $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::LEAVES_ONLY);
             foreach ($iterator as $file) {
                 $fileName = $file->getBasename($this->_fileExtension);
                 if ($fileName == $file->getBasename() || $fileName == $this->_globalBasename) {
                     continue;
                 }
                 // NOTE: All files found here means classes are not transient!
                 if (isset($this->_prefixes[$path])) {
                     $classes[] = $this->_prefixes[$path] . '\\' . str_replace('.', '\\', $fileName);
                 } else {
                     $classes[] = str_replace('.', '\\', $fileName);
                 }
             }
         }
     }
     return array_merge($classes, array_keys($this->_classCache));
 }
开发者ID:nightchiller,项目名称:symfony,代码行数:28,代码来源:YamlDriver.php

示例2: getAllClassNames

 /**
  * {@inheritDoc}
  * @todo Same code exists in AnnotationDriver, should we re-use it somehow or not worry about it?
  */
 public function getAllClassNames()
 {
     if ($this->_classNames !== null) {
         return $this->_classNames;
     }
     if (!$this->_paths) {
         throw MappingException::pathRequired();
     }
     $classes = array();
     $includedFiles = array();
     foreach ($this->_paths as $path) {
         if (!is_dir($path)) {
             throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath($path);
         }
         $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::LEAVES_ONLY);
         foreach ($iterator as $file) {
             if (($fileName = $file->getBasename($this->_fileExtension)) == $file->getBasename()) {
                 continue;
             }
             $sourceFile = realpath($file->getPathName());
             require_once $sourceFile;
             $includedFiles[] = $sourceFile;
         }
     }
     $declared = get_declared_classes();
     foreach ($declared as $className) {
         $rc = new \ReflectionClass($className);
         $sourceFile = $rc->getFileName();
         if (in_array($sourceFile, $includedFiles) && !$this->isTransient($className)) {
             $classes[] = $className;
         }
     }
     $this->_classNames = $classes;
     return $classes;
 }
开发者ID:michaelnavarro,项目名称:zc,代码行数:39,代码来源:StaticPHPDriver.php

示例3: getAllClassNames

 /**
  * Get all class names.
  *
  * @return string[]
  */
 public function getAllClassNames()
 {
     if (!$this->paths) {
         throw MappingException::pathRequired();
     }
     $classes = [];
     $includedFiles = [];
     foreach ($this->paths as $path) {
         if (!is_dir($path)) {
             throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath($path);
         }
         $iterator = new \RegexIterator(new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path, \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY), '/^.+\\/Entity\\/.+\\.php$/i', \RecursiveRegexIterator::GET_MATCH);
         foreach ($iterator as $file) {
             $sourceFile = realpath($file[0]);
             require_once $sourceFile;
             $includedFiles[] = $sourceFile;
         }
     }
     $declared = get_declared_classes();
     foreach ($declared as $className) {
         $rc = new \ReflectionClass($className);
         $sourceFile = $rc->getFileName();
         if (in_array($sourceFile, $includedFiles) && !$this->isTransient($className)) {
             $classes[] = $className;
         }
     }
     return $classes;
 }
开发者ID:victoire,项目名称:victoire,代码行数:33,代码来源:AnnotationDriver.php

示例4: getAllClassNames

 /**
  * Gets the names of all mapped classes known to this driver.
  * 
  * @return array The names of all mapped classes known to this driver.
  */
 public function getAllClassNames()
 {
     $classes = array();
     if ($this->_paths) {
         foreach ((array) $this->_paths as $path) {
             if (!is_dir($path)) {
                 throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath();
             }
             $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::LEAVES_ONLY);
             foreach ($iterator as $file) {
                 if (($fileName = $file->getBasename($this->_fileExtension)) == $file->getBasename()) {
                     continue;
                 }
                 // NOTE: All files found here means classes are not transient!
                 $classes[] = str_replace('.', '\\', $fileName);
             }
         }
     }
     return $classes;
 }
开发者ID:EstebanFuentealba,项目名称:PHPCodeCreator,代码行数:25,代码来源:AbstractFileDriver.php

示例5: _getMappingDriver

 /**
  * Get an instance of a mapping driver
  *
  * @param string $type   The type of mapping driver (yaml, xml, annotation, etc.)
  * @param string $source The source for the driver
  * @return AbstractDriver $driver
  */
 private function _getMappingDriver($type, $source = null)
 {
     if ($source instanceof \Doctrine\ORM\Mapping\Driver\Driver) {
         return $source;
     }
     if (!isset(self::$_mappingDrivers[$type])) {
         return false;
     }
     $class = self::$_mappingDrivers[$type];
     if (is_subclass_of($class, 'Doctrine\\ORM\\Mapping\\Driver\\AbstractFileDriver')) {
         if (is_null($source)) {
             throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath();
         }
         $driver = new $class($source);
     } else {
         if ($class == 'Doctrine\\ORM\\Mapping\\Driver\\AnnotationDriver') {
             $reader = new \Doctrine\Common\Annotations\AnnotationReader(new \Doctrine\Common\Cache\ArrayCache());
             $reader->setDefaultAnnotationNamespace('Doctrine\\ORM\\Mapping\\');
             $driver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, $source);
         } else {
             $driver = new $class($source);
         }
     }
     return $driver;
 }
开发者ID:andreia,项目名称:doctrine,代码行数:32,代码来源:ClassMetadataReader.php


注:本文中的Doctrine\ORM\Mapping\MappingException::fileMappingDriversRequireConfiguredDirectoryPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。