| @@ 138-161 (lines=24) @@ | ||
| 135 | $fqn = $this->hydratorNamespace . '\\' . $hydratorClassName; |
|
| 136 | $class = $this->dm->getClassMetadata($className); |
|
| 137 | ||
| 138 | if ( ! class_exists($fqn, false)) { |
|
| 139 | $fileName = $this->hydratorDir . DIRECTORY_SEPARATOR . $hydratorClassName . '.php'; |
|
| 140 | switch ($this->autoGenerate) { |
|
| 141 | case Configuration::AUTOGENERATE_NEVER: |
|
| 142 | require $fileName; |
|
| 143 | break; |
|
| 144 | ||
| 145 | case Configuration::AUTOGENERATE_ALWAYS: |
|
| 146 | $this->generateHydratorClass($class, $hydratorClassName, $fileName); |
|
| 147 | require $fileName; |
|
| 148 | break; |
|
| 149 | ||
| 150 | case Configuration::AUTOGENERATE_FILE_NOT_EXISTS: |
|
| 151 | if (!file_exists($fileName)) { |
|
| 152 | $this->generateHydratorClass($class, $hydratorClassName, $fileName); |
|
| 153 | } |
|
| 154 | require $fileName; |
|
| 155 | break; |
|
| 156 | ||
| 157 | case Configuration::AUTOGENERATE_EVAL: |
|
| 158 | $this->generateHydratorClass($class, $hydratorClassName, false); |
|
| 159 | break; |
|
| 160 | } |
|
| 161 | } |
|
| 162 | $this->hydrators[$className] = new $fqn($this->dm, $this->unitOfWork, $class); |
|
| 163 | return $this->hydrators[$className]; |
|
| 164 | } |
|
| @@ 81-104 (lines=24) @@ | ||
| 78 | ||
| 79 | $collClassName = str_replace('\\', '', $collectionClass) . 'Persistent'; |
|
| 80 | $className = $this->collectionNamespace . '\\' . $collClassName; |
|
| 81 | if ( ! class_exists($className, false)) { |
|
| 82 | $fileName = $this->collectionDir . DIRECTORY_SEPARATOR . $collClassName . '.php'; |
|
| 83 | switch ($autoGenerate) { |
|
| 84 | case Configuration::AUTOGENERATE_NEVER: |
|
| 85 | require $fileName; |
|
| 86 | break; |
|
| 87 | ||
| 88 | case Configuration::AUTOGENERATE_ALWAYS: |
|
| 89 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 90 | require $fileName; |
|
| 91 | break; |
|
| 92 | ||
| 93 | case Configuration::AUTOGENERATE_FILE_NOT_EXISTS: |
|
| 94 | if ( ! file_exists($fileName)) { |
|
| 95 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 96 | } |
|
| 97 | require $fileName; |
|
| 98 | break; |
|
| 99 | ||
| 100 | case Configuration::AUTOGENERATE_EVAL: |
|
| 101 | $this->generateCollectionClass($collectionClass, $className, false); |
|
| 102 | break; |
|
| 103 | } |
|
| 104 | } |
|
| 105 | ||
| 106 | return $className; |
|
| 107 | } |
|