function find_classes($path, $root, $namespace = 'Bake') { $stack = []; $files = globs($path); foreach ($files as $file) { $class = preg_replace("|^" . $root . "|u", $namespace, $file); $class = str_replace('/', '\\', $class); $class = preg_replace("/.php\$/u", "", $class); $stack[] = $class; } return $stack; }
/** * 递归所有.html文件和目录 */ function globs($dir) { $GLOBALS['tplfiles'] = isset($GLOBALS['tplfiles']) ? $GLOBALS['tplfiles'] : ''; $project_tmp = glob($dir . '*'); //$files = array(); foreach ($project_tmp as $_tmp) { if (is_dir($_tmp)) { if (basename($_tmp) == 'mobile' || basename($_tmp) == 'package') { continue; } globs($_tmp . '/'); } else { $GLOBALS['tplfiles'][] = str_replace($dir, '', $_tmp); } } return $GLOBALS['tplfiles']; }