public function __construct($directory, $extension, $namespace = NULL) { $this->extension = $extension; $this->directory = $directory; $this->namespace = empty($namespace) ? '' : $namespace; if (($systemCache = $this->extension->getApp()->getCacheRepository('system')) != NULL && is_array($controllerClassFiles = $systemCache->get($this->directory . '::fileList'))) { } else { // Make sure all PHP files in the directory are included $controllerClassFiles = DirectoryHelper::directoryToArray($this->directory, TRUE, '.php'); if ($systemCache != NULL) { $systemCache->forever($this->directory . '::fileList', $controllerClassFiles); } } foreach ($controllerClassFiles as $controllerClassFile) { include_once $controllerClassFile; $controllerClass = ReflectionHelper::createClassName($this->namespace, basename($controllerClassFile, '.php')); $this->controllerClasses[] = $controllerClass; $controller = new $controllerClass($this->extension); $rclass = new \ReflectionClass($controller); if ($rclass->isSubclassOf('\\MABI\\ModelController')) { /** * @var $controller \MABI\ModelController */ $this->overriddenModelClasses[] = $controller->getModelClass(); } $this->controllers[] = $controller; } }
public function loadModels() { foreach ($this->modelClassFiles as $modelClassFile) { $this->modelClasses[] = ReflectionHelper::createClassName($this->namespace, basename($modelClassFile, '.php')); } return $this->modelClasses; }