美文网首页
原生php实现页面路由的笔记

原生php实现页面路由的笔记

作者: yinminqian | 来源:发表于2017-12-02 23:38 被阅读0次

代码和目录截图不能更好理解的话,可以去github直接克隆:

github地址

https://github.com/yinminqian/php_roust

首先从一个最简单的项目开始,假设这个最简单的项目拥有一个项目所需的基本目录

如下图:


目录结构

demonstration:总的项目文件夹;

route:演示本文章路由功能的项目文件夹,实际是从本文件夹开始的;

page:路由跳转页面的文件夹,里面三个页面分别为:主页,商品页,分类页。(cat不是猫);

index.php用来写路由规则;

.htaccess:这个文件用来写PHP的网页配置文件;

1:将PHP .htaccess配置文件写入

Options -MultiViews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [QSA,L]

将以上配置代码写进.htaccess文件。

2:index.php入口文件

我们需要用到PHP的$_SERVER超全局变量,这个变量非常实用,在PHP文件中先var_dump($_SERVER)在浏览器中打开看到以下:

打印超全局变量$_SERVER

我们只用到路由功能,所以只取REQUEST_URI这个值,项目的根目录index打开她的URL只有一个“/”。代表这个主页的服务器地址为“/”,

3:现在,理清以下思路:

1:我们在地址栏输入服务器地址,可以进入对应的服务器页面。“/”也是一个服务器地址,她代表主页的页面。

2:利用switch和require_once和两个tpl小函数来实现路由:

实现路由的方法

4:代码后的注释

首先定义两个方法:tpl 和 tpl_path

首先注意:tpl和tpl_pat的传参必须是page文件夹下的文件名,不然不能载入。

tpl_path函数的主要作用是返回传参的文件的绝对地址;

通过switch判断地址栏的传参来绑定载入的界面,绑定载入界面用tpl方法require_once进行连接绑定。

附上page的一个文件截图和效果

以便更好理解

page中的home文件 已完成的product,注意地址栏参数

相关文章

网友评论

      本文标题:原生php实现页面路由的笔记

      本文链接:https://www.haomeiwen.com/subject/jpjnbxtx.html