自定义程序路由

2024-01-26 13:34 小编

程序路由模式格式为:

前端控制器:/index.php?s=模块目录&c=文件名&m=方法名&参数名=参数值

会员控制器:/index.php?s=member&app=模块目录&c=文件名&m=方法名&参数名=参数值

后台控制器:/admin.php?s=模块目录&c=文件名&m=方法名&参数名=参数值

对URL路由的方法重写解析接口,需要在后台开启伪静态

image.png

例如,默认会员中心路由格式为:

/index.php?s=member&c=paylog&m=index

自定义为:

/member.html?c=paylog&m=index

1、新建文件:config/router.php

<?php

// 自定义URL路由模式


if (strpos($uri, 'member.html?') === 0) {

    $is_404 = 0;

    $arr = parse_url($uri);

    parse_str($arr['query'],$_GET);

    $_GET['s'] = 'member';

}

2、重写路由类文件,新建文件:dayrui/My/Library/Router.php

<?php namespace My\Library;


class Router extends \Phpcmf\Library\Router

{


    // 重写会员路由

    function member_url($url='', $query = [], $self = SELF)

    {

        

        $url = parent::member_url($url, $query, $self );

        return str_replace('index.php?s=member&', 'member.html?', $url);

    }

    

    

    // 重写前端路由和后台路由

    function url($url, $query = [], $self = SELF)

    {

        $url = parent::url($url, $query, $self );

        if (IS_ADMIN) {

            // 表示后台

            return $url; // 返回默认格式

        } else {

            // 表示前端

            return $url; // 返回默认格式

        }

        

    }



}



在线咨询 拨打电话

电话

13363039260

微信二维码

微信二维码