温馨提示  60秒后自动隐藏

本站创建于 2017 年已经提供了 4 年完全免费的服务,开发不易,请 遵守以下规定 !
使用本站API请在贵站:首页(或 用到本站API的页面 )显眼 处用 超链接 链接到本站(或用 显眼字体 标出 本站名及链接 )!
否则本站 有权利 随时 禁止 贵站的使用!
例如:蓝奏云直链下载接口由<a href="http://api.pingping6.com">平平免费API</a>提供
例如:本站接口由平平免费API提供(api.pingping6.com)

16 : 29 : 59

点击下载

+----------------------------------------------------------------------+
	作者:平平 
+----------------------------------------------------------------------+
	类名:MVCrouter 
+----------------------------------------------------------------------+
	功能:php路由分发框架MVCrouter(前端控制器)
+----------------------------------------------------------------------+
	网站:http://blog.pingping6.com  
+----------------------------------------------------------------------+
	邮箱:pingping@pingping6.com 
+----------------------------------------------------------------------+
	文档地址:https://api.pingping6.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();