| 532 | | if (class_exists($name)) { |
| 533 | | if (self::isValidModelClass($name) && !in_array($name, $loadedModels)) { |
| 534 | | $loadedModels[] = $name; |
| 535 | | } |
| 536 | | } else { |
| 537 | | // Determine class names by the actual inclusion of the model file |
| 538 | | // The possibility exists that the class name(s) contained in the model |
| 539 | | // file is not the same as the actual model file name itself |
| 540 | | if (isset(self::$_loadedModelFiles[$name])) { |
| 541 | | require_once self::$_loadedModelFiles[$name]; |
| 542 | | $declaredAfter = get_declared_classes(); |
| 543 | | // Using array_slice since array_diff is broken is some versions |
| 544 | | $foundClasses = array_slice($declaredAfter, count($declaredBefore) - 1); |
| 545 | | if ($foundClasses) { |
| 546 | | foreach ($foundClasses as $name) { |
| 547 | | if (self::isValidModelClass($name) && !in_array($name, $loadedModels)) { |
| 548 | | $loadedModels[] = $name; |
| 549 | | } |
| 550 | | } |
| | 535 | require_once $model['filepath']; |
| | 536 | $declaredAfter = get_declared_classes(); |
| | 537 | // Using array_slice because array_diff is broken is some PHP versions |
| | 538 | $foundClasses = array_slice($declaredAfter, count($declaredBefore) - 1); |
| | 539 | if ($foundClasses) { |
| | 540 | foreach ($foundClasses as $className) { |
| | 541 | if (self::isValidModelClass($className) && !in_array($className, $loadedModels)) { |
| | 542 | $loadedModels[] = $className; |