| @@ 121-144 (lines=24) @@ | ||
| 118 | $fqn = $this->hydratorNamespace . '\\' . $hydratorClassName; |
|
| 119 | $class = $this->dm->getClassMetadata($className); |
|
| 120 | ||
| 121 | if ( ! class_exists($fqn, false)) { |
|
| 122 | $fileName = $this->hydratorDir . DIRECTORY_SEPARATOR . $hydratorClassName . '.php'; |
|
| 123 | switch ($this->autoGenerate) { |
|
| 124 | case Configuration::AUTOGENERATE_NEVER: |
|
| 125 | require $fileName; |
|
| 126 | break; |
|
| 127 | ||
| 128 | case Configuration::AUTOGENERATE_ALWAYS: |
|
| 129 | $this->generateHydratorClass($class, $hydratorClassName, $fileName); |
|
| 130 | require $fileName; |
|
| 131 | break; |
|
| 132 | ||
| 133 | case Configuration::AUTOGENERATE_FILE_NOT_EXISTS: |
|
| 134 | if (!file_exists($fileName)) { |
|
| 135 | $this->generateHydratorClass($class, $hydratorClassName, $fileName); |
|
| 136 | } |
|
| 137 | require $fileName; |
|
| 138 | break; |
|
| 139 | ||
| 140 | case Configuration::AUTOGENERATE_EVAL: |
|
| 141 | $this->generateHydratorClass($class, $hydratorClassName, false); |
|
| 142 | break; |
|
| 143 | } |
|
| 144 | } |
|
| 145 | $this->hydrators[$className] = new $fqn($this->dm, $this->unitOfWork, $class); |
|
| 146 | return $this->hydrators[$className]; |
|
| 147 | } |
|
| @@ 64-87 (lines=24) @@ | ||
| 61 | ||
| 62 | $collClassName = str_replace('\\', '', $collectionClass) . 'Persistent'; |
|
| 63 | $className = $this->collectionNamespace . '\\' . $collClassName; |
|
| 64 | if ( ! class_exists($className, false)) { |
|
| 65 | $fileName = $this->collectionDir . DIRECTORY_SEPARATOR . $collClassName . '.php'; |
|
| 66 | switch ($autoGenerate) { |
|
| 67 | case Configuration::AUTOGENERATE_NEVER: |
|
| 68 | require $fileName; |
|
| 69 | break; |
|
| 70 | ||
| 71 | case Configuration::AUTOGENERATE_ALWAYS: |
|
| 72 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 73 | require $fileName; |
|
| 74 | break; |
|
| 75 | ||
| 76 | case Configuration::AUTOGENERATE_FILE_NOT_EXISTS: |
|
| 77 | if ( ! file_exists($fileName)) { |
|
| 78 | $this->generateCollectionClass($collectionClass, $className, $fileName); |
|
| 79 | } |
|
| 80 | require $fileName; |
|
| 81 | break; |
|
| 82 | ||
| 83 | case Configuration::AUTOGENERATE_EVAL: |
|
| 84 | $this->generateCollectionClass($collectionClass, $className, false); |
|
| 85 | break; |
|
| 86 | } |
|
| 87 | } |
|
| 88 | ||
| 89 | return $className; |
|
| 90 | } |
|