框架中的單入口和多入口

1.多入口:
           定義:就是通過訪問不同的文件來完成用戶請求。通過訪問不同的php文件運行相對應的功能。比如我們剛開始學習php的時候,我們做一個項目的時候都會這樣
index.php 網站首頁
list.php?page=5內容列表頁
info.php?id=12內容詳細頁
login.php用戶登錄頁
         對於這個項目來說這其實就是一個多入口


2.單一入口:
   定義: web 程序所有的請求都指向一個腳本文件的,也就是說一個文件處理所有的http請求,舉個例子來說不管是列表有還是文章頁,都是從瀏覽器訪問index.php。
          這個文件就是這個應用程序的單一入口。
          拿生活的例子來說很簡單:大家都要上WC,都是男生進一個門,女生進一個門,這兩個門就是WC的兩個入口。而現在去一個公園裏面的WC,外面還有一個門,
          不管男女都從最外面的門進入,交了錢以後才進入裏面的男廁所門或女廁所門,而這個最外面的門就是這個WC的單一入口
   實現方式:很簡單,可以在訪問index.php時限上一個特定的參數。例如index.php?action=list就是訪問列表頁,而index.php?action=single則訪問文章頁。
  
   實現代碼:$action=$_GET['action']==''?'index':$_GET['action'];//從url中取出action參數,如果沒有提供action參數,就設置一個默認的'index'作爲參數
     include('files/'.$action.'.php');//根據$action參數調用不同的代碼文件,從而滿足單一入口實現對應的不同的功能


    優點:單一入口應用程序的所有http請求都是通過index.php接受並轉發到功能代碼中,所以在index.php裏面就能完成許多實際工作,由於所有的http請求都是有index.php
  接收,所以可以進行集中的安全性檢查,如果不是單一入口,那麼開發者就必須記得每一個文件的開始就得加上安全性檢查代碼(安全性檢查可以寫到一個文件中,只需要
  include就可以了)
  
  單一入口也容易控制權限,方便對http請求進行安全性檢查
    
    缺點:任何事情都有兩面性,單一入口程序也不例外,由於所得的http請求都是針對index.php,所以程序的url看起來並不是那麼美觀,特別是對搜索引擎來說不是很友好
    用到的框架:laravel框架,thinkphp框架
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章