我们先可以再核心文件目录下创建一个路由文件route.php类文件
然后在核心文件中写一个静态的方法:
amespace core; class mymvc { public static $classMap = array(); static public function run() { $route = new \core\lib\route(); $ctrlClass = $route->ctrl; $action = $route->action; $ctrlfile = APP.'/ctrl/'.$ctrlClass.'Ctrl.php'; $ctrlClass = '\\'.MODULE.'\ctrl\\'.$ctrlClass.'Ctrl'; if(is_file($ctrlfile)){ include $ctrlfile; $ctrl = new $ctrlClass(); $ctrl->$action(); }else{ throw new \Exception('找不到控制器'.$ctrlClass); } } static public function load($class) { //自动加载类库 // new \core\route(); // p($class); // p(MYMVC.$class.' php'); if(isset($classMap[$class])){ return true; }else{ $class = str_replace('\\','/',$class); $file = MYMVC.'/'.$class.'.php'; if(is_file($file)){ include $file; self::$classMap[$class] = $class; }else{ return false; } } } }index.php中它会去自动加载函数库 和 核心文件
amespace core; class mymvc { public static $classMap = array(); static public function run() { $route = new \core\lib\route(); $ctrlClass = $route->ctrl; $action = $route->action; $ctrlfile = APP.'/ctrl/'.$ctrlClass.'Ctrl.php'; $ctrlClass = '\\'.MODULE.'\ctrl\\'.$ctrlClass.'Ctrl'; if(is_file($ctrlfile)){ include $ctrlfile; $ctrl = new $ctrlClass(); $ctrl->$action(); }else{ throw new \Exception('找不到控制器'.$ctrlClass); } } static public function load($class) { //自动加载类库 // new \core\route(); // p($class); // p(MYMVC.$class.' php'); if(isset($classMap[$class])){ return true; }else{ $class = str_replace('\\','/',$class); $file = MYMVC.'/'.$class.'.php'; if(is_file($file)){ include $file; self::$classMap[$class] = $class; }else{ return false; } } } }这样就会输出
p($var );