PHP从零开始打造自己的MVC框架之路由类实现方法分析

2025-05-29 0 87

本文实例讲述了PHP从零开始打造自己的MVC框架之路由类实现方法。分享给大家供大家参考,具体如下:

core目录下,新建一个名为lib的子目录,然后把我们前面写个route.php这个文件移动到这个目录下。

PHP从零开始打造自己的MVC框架之路由类实现方法分析

因为route类文件路径修改,所以在实例化的时候:

?

1
new \\core\\lib\\route();

然后我们来完善route.php:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46
<?php

namespace core\\lib;

class Route

{

public $controller; // 控制器

public $action; // 方法(动作)

public function __construct()

{

// xxx.com/index.php/index/index

// xxx.com/index.php/index

/*

* 1.隐藏index.php

* 2.获取URL 参数部分

* 3.返回对应控制器和方法

* */

if(isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '/'){

// 处理成这种格式:index/index

$path = $_SERVER['REQUEST_URI'];

$pathArr = explode('/',trim($path,'/'));

if(isset($pathArr[0])){

$this->controller = $pathArr[0];

}

unset($pathArr[0]);

if(isset($pathArr[1])){

$this->action = $pathArr[1];

unset($pathArr[1]);

}else{

$this->action = 'index';

}

// url多余部分(参数部分)转换成 GET

// id/1/str/2

$count = count($pathArr) + 2;

$i = 2;

while($i < $count){

if(isset($pathArr[$i + 1])){

$_GET[$pathArr[$i]] == $pathArr[$i + 1];

}

$i = $i + 2;

}

p($_GET); // 打印GET

}else{

$this->controller = 'index'; // 默认控制器

$this->action = 'index'; // 默认方法

}

}

}

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://blog.csdn.net/github_26672553/article/details/53884648

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP从零开始打造自己的MVC框架之路由类实现方法分析 https://www.kuaiidc.com/93157.html

相关文章

发表评论
暂无评论