本站创建于 2017 年已经提供了 6 年完全免费的服务,开发不易,请 遵守以下规定 !
使用本站API请在贵站:首页(或 用到本站API的页面 )显眼 处用 超链接 链接到本站(或用 显眼字体 标出 本站名及链接 )!
否则本站 有权利 随时 禁止 贵站的使用!
例如:蓝奏云直链下载接口由<a href="http://api.setbug.com">平平免费API</a>提供
例如:本站接口由平平免费API提供(api.setbug.com)
08 : 42 : 49
+----------------------------------------------------------------------+ 作者:平平 +----------------------------------------------------------------------+ 类名:MVCrouter +----------------------------------------------------------------------+ 功能:php路由分发框架MVCrouter(前端控制器) +----------------------------------------------------------------------+ 网站:http://blog.setbug.com +----------------------------------------------------------------------+ 邮箱:ping@setbug.com +----------------------------------------------------------------------+ 文档地址:http://api.setbug.com/api/MVCrouter/doc.api +----------------------------------------------------------------------+ 备注:转载请标明作者,如有BUG请发邮箱指正 +----------------------------------------------------------------------+ 版权声明: 本类库为本人原创,希望转载或者复制标明出处, 如有BUG请联系我指正。 类库不断更新,请支持正版! +----------------------------------------------------------------------+ 文档只标出主要方法! 命名空间为pingping\tools\MVCRouter 请确保控制器类存在公开的index方法,当直接访问控制器类时会自动调用index方法,不存在会跳转404 URL格式:/入口文件/控制器/方法/参数1/参数2/... 其中,入口文件在配置了伪静态时可去除 public function __construct($controllerPath, $indexFile = '') //构造函数,$controllerPath为控制器路径,$indexFile为入口文件(当没配置伪静态时为index.php) //伪静态规则见本文底部 public static function init($controllerPath, $indexFile = '') //作用同构造函数,但永远只会返回第一次调用init时的对象,不会重复构造 public function router() //启动路由,返回http状态码,或函数执行结果 public function header($num) //发送一个http状态码并进入对应状态页面(如果配置了) public function setModelPath($modelPath, $isIgnore = true) //设置模型model路径,$modelPath为路径 //$isIgnore为true,当目录不存在或model文件不存在不会报错 //设置后会在导入controller类之前自动导入同名model类,但不会执行 public function setViewPath($viewPath, $isIgnore = true) //同setModelPath public function setControllerClassSuffix($controllerClassSuffix) //设置控制器类名后缀,默认为Controller public function setControllerFileSuffix($controllerFileSuffix) //设置控制器类文件后缀,默认为.php public function setModelFileSuffix($modelFileSuffix) public function setViewFileSuffix($viewFileSuffix) //同setControllerFileSuffix public function setHomepage($url) //访问主页面时会跳转到指定页面 //未配置会跳转404 public function setHeaderStatusFile($file, $className) //配置header状态码对应文件名及类名 //$file默认在控制器目录下headerStatus.php,$className默认headerStatus //方法名格式h404,格式h+状态码,必须公开 Apache伪静态:RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . /index.php [NC,L] Nginx伪静态: location / { if (!-e $request_filename) { rewrite . /index.php last; } } 例子 include 'lib/MVCRouter.php'; use pingping\tools\MVCRouter; $router = MVCRouter::init(ROOT . '/controller', 'index.php') ->setControllerFileSuffix('.class.php') ->setModelFileSuffix('.class.php') ->setViewFileSuffix('.class.php') ->setModelPath(ROOT . '/model/', false) ->setViewPath(ROOT . '/view/', false) ->setHomepage('/aa/bb') ->setStatusFile(['404' => ROOT . '/404.html']); $router->router();