什么不是单一入口
从前些网站,要访问一个页面,需要在地址栏中输入域名加上页面名称,如下:
// 访问登录页面
http://www.abc.com/login.html
// 访问注册页面
http://www.abc.com/register.html
这种就不是单一入口机制。
什么是单一入口机制
接着上面的例子,同样是访问登录和注册页面,示例如下:
// 通过单一入口访问登录页面
http://www.abc.com/index.php?page=login
// 通过单一入口访问注册页面
http://www.abc.com/index.php?page=regist
这里的单一入口很明显就是index.php
。
有如下几个特点:
访问单个模块内的页面,都通过入口文件。即:模块的代码执行从入口文件开始。
一个项目内可能有多个模块,每个模块都有一个单一入口文件,比如前台模块
index.php
,后台模块admin.php
。
以上说的就是单一入口机制。
简单的实现
上面举了一个例子,接下来我们尝试着实现它。
编写入口文件
我们需要获取浏览器 URL 中的参数,然后根据参数内容引入 PHP 文件。所以先编写index.php
文件。
// 获取路径当中的 page 参数,如果不存在,则赋值为 404
$page = $_GET['page'] ? $_GET['page'] : '404' ;
// 引入 page 所指的页面
include $page .'.php';
接下来以此实现login.php
、register.php
以及404.php
。
例如 login.php
伪代码:
echo 'Login page';
单一入口机制的优点
我们用它,那么为什么用它,它能给我们带来什么好处呢?
可以在入口文件中添加通用操作,例如版本检查,降低代码维护成本。
单一入口机制的缺点
世间事物都具有双面性,单一入口机制有什么缺点呢?
由于路径不美观,所以搜索引擎不喜欢。即不利于 SEO 。
网友评论