| @@ 139-162 (lines=24) @@ | ||
| 136 | $fqn = $this->hydratorNamespace . '\\' . $hydratorClassName; |
|
| 137 | $class = $this->dm->getClassMetadata($className); |
|
| 138 | ||
| 139 | if ( ! class_exists($fqn, false)) { |
|
| 140 | $fileName = $this->hydratorDir . DIRECTORY_SEPARATOR . $hydratorClassName . '.php'; |
|
| 141 | switch ($this->autoGenerate) { |
|
| 142 | case Configuration::AUTOGENERATE_NEVER: |
|
| 143 | require $fileName; |
|
| 144 | break; |
|
| 145 | ||
| 146 | case Configuration::AUTOGENERATE_ALWAYS: |
|
| 147 | $this->generateHydratorClass($class, $hydratorClassName, $fileName); |
|
| 148 | require $fileName; |
|
| 149 | break; |
|
| 150 | ||
| 151 | case Configuration::AUTOGENERATE_FILE_NOT_EXISTS: |
|
| 152 | if (!file_exists($fileName)) { |
|
| 153 | $this->generateHydratorClass($class, $hydratorClassName, $fileName); |
|
| 154 | } |
|
| 155 | require $fileName; |
|
| 156 | break; |
|
| 157 | ||
| 158 | case Configuration::AUTOGENERATE_EVAL: |
|
| 159 | $this->generateHydratorClass($class, $hydratorClassName, false); |
|
| 160 | break; |
|
| 161 | } |
|
| 162 | } |
|
| 163 | $this->hydrators[$className] = new $fqn($this->dm, $this->unitOfWork, $class); |
|
| 164 | return $this->hydrators[$className]; |
|
| 165 | } |
|
| @@ 59-82 (lines=24) @@ | ||
| 56 | ||
| 57 | $collClassName = str_replace('\\', '', $collectionClass) . 'Persistent'; |
|
| 58 | $className = $this->collectionNamespace . '\\' . $collClassName; |
|
| 59 | if ( ! class_exists($className, false)) { |
|
| 60 | $fileName = $this->collectionDir . DIRECTORY_SEPARATOR . $collClassName . '.php'; |
|
| 61 | switch ($autoGenerate) { |
|
| 62 | case Configuration::AUTOGENERATE_NEVER: |
|
| 63 | require $fileName; |
|
| 64 | break; |
|
| 65 | ||
| 66 | case Configuration::AUTOGENERATE_ALWAYS: |
|
| 67 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 68 | require $fileName; |
|
| 69 | break; |
|
| 70 | ||
| 71 | case Configuration::AUTOGENERATE_FILE_NOT_EXISTS: |
|
| 72 | if ( ! file_exists($fileName)) { |
|
| 73 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 74 | } |
|
| 75 | require $fileName; |
|
| 76 | break; |
|
| 77 | ||
| 78 | case Configuration::AUTOGENERATE_EVAL: |
|
| 79 | $this->generateCollectionClass($collectionClass, $className, false); |
|
| 80 | break; |
|
| 81 | } |
|
| 82 | } |
|
| 83 | ||
| 84 | return $className; |
|
| 85 | } |
|