zoukankan      html  css  js  c++  java
  • 对web应用中单一入口模式的理解及php实现

      在我们web应用的开发中,经常会听见或看见单一入口模式,在我开始学习tp框架的时候也不理解为什么要运用一个单一入口模式,只是会使用,最近自己在搞一个小东西的时候才明白为什么在web开发中要运用单一入口模式。

      那么,什么叫单一入口模式呢?单一入口模式官方版就是用一个文件处理所有的请求。其实,说通俗一点就是,当我们访问一个网站,都是在地址栏中通过http的请求访问,在http的请求中,我们需要标明我们要访问什么页面,什么内容,单一入口模式就是将你所有的请求都通过这一个文件转发出去,就好比a想找b,找c,找d,多入口就是找谁直接去找,单入口就是如果a想找b,需要先通过e,告诉e找c什么事,然后e再去找c。这样我们就可以很好的看出来单入口模式的优点就在于安全,单入口可以将过滤掉一些非法的字符和请求。

      php实现单一入口模式:

      一个简单的单一入口文件非常容易实现,既然没有了多入口,那么必然就会变成单入口多参数的形式。所以,在访问index.php时传入规定格式的参数,比如:http://localhost/index.php?con=article&met=list  上述表示我们想要访问article控制器的list方法,即请求一个文章的列表页。

    1 <?php
    2 $controller=$_GET["con"]==""?"index":$_GET["con"];  //获取get请求的参数信息,如果没有参数,则默认给定index
    3 $method=$_GET["met"]==""?"index":$_GET["met"];      
    4 require_once($controller."Controller.class.php");   //包含对应请求的控制器文件
    5 $obj=new $controller."Controller()";    //实例化控制器对应的类
    6 $obj->$method."()";   //调用对应请求的方法
    7 ?>

    上述代码就实现了一个最简单的单一入口模式的请求,在http请求时,传入对应的参数,然后通过index.php的文件对传入的参数进行获取,获取后找到相应的文件,然后进行调用访问。这样就实现了在单一入口模式下对整个网站的访问。

      单一入口模式最主要的优点就是安全,可以在入口文件中对请求字符中的非法字符进行过滤。当然事情都有两面性,看网站大神所写这种模式对搜索引擎不友好,搜索引擎不认为它是一个正常的URL,可以改用pathinfo的方式。不过目前还没有学习到那种程度,所以以后会更加深入的学习。

  • 相关阅读:
    VB.NET中对象的克隆 利用了内存流内象和序列化
    关于对象组件编写的一点想法
    虽然有人说什么和平第一, 经济第一, 可是我怎么能不因为愤怒而发抖?
    用C# 调用MS speech引擎, 让电脑读文本, 或是存到WAV文件里去.
    抽空看了一下 dockpanel suite, 知道如何用了, 立此存照
    dn081A
    如何列出某类型的所有成员
    上周买了毛爷爷传
    【转载】MySQL双主双从高可用集群架构
    【转载】MySQL和Keepalived高可用双主复制
  • 原文地址:https://www.cnblogs.com/WuNaiHuaLuo/p/4869569.html
Copyright © 2011-2022 走看看