| @@ 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 | } |
|
| @@ 76-99 (lines=24) @@ | ||
| 73 | ||
| 74 | $collClassName = str_replace('\\', '', $collectionClass) . 'Persistent'; |
|
| 75 | $className = $this->collectionNamespace . '\\' . $collClassName; |
|
| 76 | if ( ! class_exists($className, false)) { |
|
| 77 | $fileName = $this->collectionDir . DIRECTORY_SEPARATOR . $collClassName . '.php'; |
|
| 78 | switch ($autoGenerate) { |
|
| 79 | case Configuration::AUTOGENERATE_NEVER: |
|
| 80 | require $fileName; |
|
| 81 | break; |
|
| 82 | ||
| 83 | case Configuration::AUTOGENERATE_ALWAYS: |
|
| 84 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 85 | require $fileName; |
|
| 86 | break; |
|
| 87 | ||
| 88 | case Configuration::AUTOGENERATE_FILE_NOT_EXISTS: |
|
| 89 | if ( ! file_exists($fileName)) { |
|
| 90 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 91 | } |
|
| 92 | require $fileName; |
|
| 93 | break; |
|
| 94 | ||
| 95 | case Configuration::AUTOGENERATE_EVAL: |
|
| 96 | $this->generateCollectionClass($collectionClass, $className, false); |
|
| 97 | break; |
|
| 98 | } |
|
| 99 | } |
|
| 100 | ||
| 101 | return $className; |
|
| 102 | } |
|