<?php// 定义运用根目录define(39;APP_ROOT', dirname(__FILE__));// 自动加载类文件spl_autoload_register(function($class) { require_once APP_ROOT . '/classes/' . $class . '.php';});// 路由分发$uri = $_SERVER['REQUEST_URI'];$route = Route::dispatch($uri);// 掌握器调用$controller_name = $route['controller'] . 'Controller';$controller = new $controller_name();$action = $route['action'] . 'Action';$controller->$action();// 路由类class Route { public static function dispatch($uri) { $parts = explode('/', $uri); $controller = !empty($parts[1]) ? $parts[1] : 'index'; $action = !empty($parts[2]) ? $parts[2] : 'index'; return array( 'controller' => $controller, 'action' => $action ); }}// 掌握器基类abstract class Controller { protected function render($view, $params = array()) { extract($params); require_once APP_ROOT . '/views/' . $view . '.php'; }}// 首页掌握器class IndexController extends Controller { public function indexAction() { $this->render('index/index', array( 'message' => 'Hello, world!' )); }}
该示例实现了一个基本的 MVC 框架,可以根据 URL 路径调用不同的掌握器和动作,并自动加载类文件。当然,这仅仅是一个非常大略的框架,实际开拓中可以根据需求进行扩展。