protected function dir_classes() { $myfiles = array(); foreach (self::$include_path as $mypath) { $myfiles = array_merge($myfiles, $this->glob_path($mypath . $this->dir . DIRECTORY_SEPARATOR . $this->file . DIRECTORY_SEPARATOR . '*', strlen($mypath))); } $arr_docs = array(); foreach ($myfiles as $key => $item) { $tmpClassName = self::get_class_name($key); if ($tmpClassName) { if (class_exists($tmpClassName, true)) { $arr_docs[] = Docs::factory($tmpClassName); if ($this->dir == 'orm') { # ORM 特殊处理 $orm_class_base = substr($tmpClassName, 0, -5); foreach (array('data', 'finder', 'result') as $item) { if (class_exists($orm_class_base . $item, false)) { $arr_docs[] = Docs::factory($orm_class_base . $item); } } } } } } $main_view = new View('docs/api/dir_main'); $main_view->dir = $this->dir; $main_view->classname = $this->file; $main_view->arr_docs = $arr_docs; $main_view->render(true); }