/** * Daoモデルの一覧 * @automap */ public function model_list() { $list = $errors = $error_query = $model_list = $con = array(); foreach (self::classes('\\org\\rhaco\\store\\db\\Dao') as $class_info) { $class = $class_info['class']; $r = new \ReflectionClass($class); $class_doc = $r->getDocComment(); $package = str_replace('\\', '.', substr($class, 1)); $document = trim(preg_replace("/@.+/", '', preg_replace("/^[\\s]*\\*[\\s]{0,1}/m", '', str_replace(array('/' . '**', '*' . '/'), '', $class_doc)))); list($summary) = explode("\n", $document); $errors[$package] = null; $con[$package] = true; try { \org\rhaco\store\db\Dao::start_record(); $class::find_get(); \org\rhaco\store\db\Dao::stop_record(); } catch (\org\rhaco\store\db\exception\NotfoundDaoException $e) { } catch (\org\rhaco\store\db\exception\DaoConnectionException $e) { $errors[$package] = $e->getMessage(); $con[$package] = false; } catch (\Exception $e) { $errors[$package] = $e->getMessage(); $error_query[$package] = print_r(\org\rhaco\store\db\Dao::recorded_query(), true); } $model_list[$package] = $summary; } ksort($model_list); $this->vars('dao_models', $model_list); $this->vars('dao_model_errors', $errors); $this->vars('dao_model_error_query', $error_query); $this->vars('dao_model_con', $con); $this->vars('getcwd', getcwd()); }