123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
-
- namespace Gedmo\Mapping\Driver;
-
- use Doctrine\Common\Persistence\Mapping\Driver\FileDriver;
- use Doctrine\Common\Persistence\Mapping\Driver\FileLocator;
- use Doctrine\ORM\Mapping\Driver\AbstractFileDriver;
- use Gedmo\Mapping\Driver;
-
-
- abstract class File implements Driver
- {
-
-
- protected $locator;
-
-
-
- protected $_extension;
-
-
-
- protected $_originalDriver = null;
-
- public function setLocator(FileLocator $locator)
- {
- $this->locator = $locator;
- }
-
-
-
- public function setPaths($paths)
- {
- $this->_paths = (array)$paths;
- }
-
-
-
- public function setExtension($extension)
- {
- $this->_extension = $extension;
- }
-
-
-
- abstract protected function _loadMappingFile($file);
-
-
-
- protected function _getMapping($className)
- {
-
- $mapping = null;
- if (!is_null($this->_originalDriver)) {
- if ($this->_originalDriver instanceof FileDriver || $this->_originalDriver instanceof AbstractFileDriver) {
- $mapping = $this->_originalDriver->getElement($className);
- }
- }
-
-
- if (is_null($mapping)) {
- $yaml = $this->_loadMappingFile($this->locator->findMappingFile($className));
- $mapping = $yaml[$className];
- }
-
- return $mapping;
- }
-
-
-
- public function setOriginalDriver($driver)
- {
- $this->_originalDriver = $driver;
- }
- }
|