提供Discuz ,ECShop ,PHPCMS ,帝国CMS ,CSS教程 ,PHP教程 ,DedeCMS ,WordPress ,HTML教程等cms问题查询.
当前位置: PHP问题 > php写路由有几种要领【php问题】,php

路由的功用就是分发要求到差别的掌握器,基于的道理就是正则婚配。接下来呢,我们完成一个简朴的路由器,完成的才能是关于静态的路由(没占位符的),准确挪用callback。

路由分派(引荐进修:PHP视频教程)

基于php的路由分派,实质上来讲就是运用url中的path去婚配对应的掌握类,同时挪用个中的要领举行相干操纵的处置惩罚。

<?php
// 权限掌握
include_once './auth.php';

// 运用进口文件
date_default_timezone_set("Asia/Shanghai");
header('Content-type: text/html;charset=utf-8');
// 项目根途径
define('BASEPATH', dirname(__FILE__));
// 调试形式
define('APP_DEBUG', True);

// 引入配置文件
include_once BASEPATH . '/config/config.php';

// 路由掌握
$router = include_once BASEPATH . '/config/router.php';
if ($_SERVER['HTTP_HOST'] !== 'xxx.com') {
    var_dump('当前host不被许可');
} else {
    $request_path = str_replace('/index.php', '', $_SERVER['PHP_SELF']);
    $request_query = getCurrentQuery();
    if (array_key_exists($request_path, $router)) {
        $module_file = BASEPATH . $router[$request_path]['file_name'];
        $class_name = $router[$request_path]['class_name'];
        $method_name = $router[$request_path]['method_name'];
        if (file_exists($module_file)) {
            include $module_file;
            $obj_module = new $class_name();
            if (!method_exists($obj_module, $method_name)) {
                die("要挪用的要领不存在");
            } else {
                if (is_callable(array($obj_module, $method_name))) {
                    $obj_module->$method_name($request_query, $_POST);
                }
            }
        } else {
            die("定义的模块不存在");
        }
    } else {
        echo '页面不存在';
    }
}

以上就是php写路由有几种要领的细致内容,更多请关注ki4网别的相干文章!

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

分享到:
赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"php写路由有几种要领【php问题】,php"

最新评论

    暂无留言哦~~

博客简介

看古风美女插画Cos小姐姐,素材合集图集打包下载:炫龙网,好看二次元插画应有尽有,唯美小姐姐等你来。

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

服务热线:
 

 QQ在线交流

 旺旺在线