美文网首页
源码阅读-ThinkPHP-0-单一入口机制

源码阅读-ThinkPHP-0-单一入口机制

作者: 苏近之2017 | 来源:发表于2017-06-06 16:31 被阅读0次

    什么不是单一入口

    从前些网站,要访问一个页面,需要在地址栏中输入域名加上页面名称,如下:

    // 访问登录页面
    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.phpregister.php以及404.php

    例如 login.php 伪代码:

    echo 'Login page';
    

    单一入口机制的优点

    我们用它,那么为什么用它,它能给我们带来什么好处呢?

    可以在入口文件中添加通用操作,例如版本检查,降低代码维护成本。

    单一入口机制的缺点

    世间事物都具有双面性,单一入口机制有什么缺点呢?

    由于路径不美观,所以搜索引擎不喜欢。即不利于 SEO 。

    相关文章

      网友评论

          本文标题:源码阅读-ThinkPHP-0-单一入口机制

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