第五課 路由之初識路由

1.路由快速入門

1.1 概念

是指把數據從一個地方傳送到另一個地方的行為和動作,而路由器,正是執行這種行為動作的機器。它的英文名稱為Router,是一種連接多個網絡或者網段的網絡設備,它能將不同網絡或者網段之間的數據信息進行“翻譯”,已使它們能夠相互“讀懂”對方的數據,從而構成一個更大的網絡。

總結起來就一句話:路由就是網絡數據傳輸的最佳路徑!( 廣義上解釋)請看下圖:

1.2 項目當中的路由

一個有效的Url請求的執行流程

路由:路由就像一個總調度,把用戶不同的請求,分發到對應的URL地址上(以項目中的方式來講)

ThinkPHP5的路由過程,就是從入口文件開始,找到對應方法的過程。

URL:?http://tp5.com/index.php/index/user/add/101/peter

1.3 傳統URL地址以及TP5普通路由

傳統URL地址的基本語法:http://域名/入口文件?m=模塊名&c=控制器名&a=方法名&鍵1=值1&鍵2=值2

例如:http://tp3.com/index.php?m=index&c=user&a=add&id=101

(圖為tp3的路由地址解析)

ThinkPHP5已經廢棄傳統URL模式,全部采用PATH_INFO模式。

例子:http://tp5.com/index.php/index/user/add/101 PATH_INFO模式地址

PATH_INFO模式的特點:PATH_INFO模式地址,不僅僅縮短了URL,最重要的是看上去與靜態網頁地址幾乎完全一樣,這樣就達到了欺騙搜索引擎,提高網頁收錄效果,利于網站優化與推廣!

1.4 注冊路由

1.4.1 路由規則寫在哪?

(1).路由規則寫在與應用配置同級的route.php文件中;

(2).路由規則主要使用路由類:Route注冊

1.4.2 注冊路由的步驟

1.4.2.1 為啥要注冊路由

原因:若不開啟路由,即URL很長,并且別人很容易就知道你所指向的模塊,安全風險高,易被路由注入,為了防止這種情況發生。

注:①請自行百度,搜索路由注入。

1.4.2.2 開啟路由

(1)Thinkphp5.0版本:

需要打開thinkphp/convention.php 查看url_route_on是否開啟路由,一般是開啟的

(2)Thinkphp5.1的版本:

不用查看,因為直接支持路由配置,所以在thinkphp/convention.php沒有這個url_route_on這個配置,所以這步在5.1中是可以不用管。

1.4.2.3 注冊路由

5.1版本默認就在application 同級下就有route的配置文件 ,之前的版本需要重新的定義route.php這文件

路由訪問效果

若按照現在之前的方式已經不能使用,已經被注冊的路由,也就不能使用PATHINFO模式訪問

1.5 路由的作用

1.根據事先定義的路由規則,檢驗URL請求,確定執行或者拒絕

2.路由規則可以自定義,隱藏了原URL地址,使訪問更安全,地址更優雅,利于seo優化??

轉載于:https://www.cnblogs.com/studyandstudy/p/10354339.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275949.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275949.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275949.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Console Snacks[摘自Advanced Rails Recipes]

1. Write Console Methods在~/.irbrc定義ActvieRecord::Base.connection.select_all方法1.# ~/.railsrc2.def sql(query)3.ActiveRecord::Base.connection.select_all(query)4.end1.# ~/.irbrc2.if ENV[RAILS_ENV]3.load File.dirname(__FILE__) /.railsrc4.end這樣就可以在直…

如何使用 React 和 React Hooks 創建一個天氣應用

大家好,我是若川(點這里加我微信 ruochuan12,長期交流學習)。今天推薦一個練手的React項目,創建天氣應用,相信很快能看完。昨天發送書掉粉18人,是我沒想到的,送書一般是出版社按閱讀…

擬態防御_純素食漢堡的擬態

擬態防御If people are so against the idea of pigs and chickens being chopped up why would they want to buy fake bacon with realistic visual streaks of pork fat, or soy meat that tries to replicate the streaky texture of cooked chicken flesh? Surely these …

delphi 算術溢出解決方法_性能優化系列:JVM 內存劃分總結與內存溢出異常詳解分析...

前言那些使用過 C 或者 C 的讀者一定會發現這兩門語言的內存管理機制與 Java 的不同。在使用 C 或者 C 編程時,程序員需要手動的去管理和維護內存,就是說需要手動的清除那些不需要的對象,否則就會出現內存泄漏與內存溢出的問題。如果你使用 J…

微信小程序如何發送 http 請求

2019獨角獸企業重金招聘Python工程師標準>>> 為什么要使用云函數發送 http 請求小程序云函數5 個可信域名不受限制需要備案無需備案在一些特殊情境, 比如域名沒有備案或域名 5 個以上就需要使用云函數發送 HTTP 請求了. 如何使用云函數發送 HTTP 請求? 在云函數中能…

H5 頁面列表緩存方案

大家好,我是若川(點這里加我微信 ruochuan12,長期交流學習)。今天給大家介紹一下關于h5頁面的列表緩存方案。感謝屏幕前的你一直關注著我。點擊下方卡片關注我、加個星標,或者查看源碼等系列文章。學習源碼整體架構系列…

SQL未能排它地鎖定數據庫以執行該操作解決

SQL未能排它地鎖定數據庫以執行該操作解決: --原因其他用戶或進程在用著數據庫 /* 關閉用戶打開的進程處理 */ use master if exists (select * from dbo.sysobjects where id object_id(N[dbo].[p_killspid]) and OBJECTPROPERTY…

不只是coding_不只是外表

不只是coding“We just need it to look more professional…”“我們只需要看起來更專業...” “We don’t have the graphic expertise you do…”“我們沒有您所需要的圖形專業知識……” “I just don’t know how to make it look good…”“我只是不知道如何使它看起來…

讀取 wps_軟件前世今生篇之WPS(求伯君1988年先于OFFICE研發出WPS)

軟件前世今生篇之WPS今天給大家普及一下WPS這款辦公軟件,相信你會問wps有什么可普及的?我們都知道啊,不就是一款辦公軟件,而且還是抄襲office的,安裝還挺簡單的,而且還有一大堆廣告,不過使用免費…

吳恩達機器學習筆記11-梯度下降法實踐2-學習率

梯度下降算法收斂所需要的迭代次數根據模型的不同而不同,我們不能提前預知,我們可以繪制迭代次數和代價函數的圖表來觀測算法在何時趨于收斂。 也有一些自動測試是否收斂的方法,例如將代價函數的變化值與某個閥值(例如0.001&#…

制作五彩紙屑轉場動效_何時以及如何將五彩紙屑添加到產品UI

制作五彩紙屑轉場動效As I am sure all designers have picked up on, confetti has become a popular method of (positive) feedback inside mobile and desktop apps. I will discuss the viable scenarios where you can implement confetti and will even provide some co…

【無套路送書】架構師是怎樣煉成的?

大家好,我是若川。不知道這是今年第幾次送書了,前三次分別是:第一次,第二次,第三次。本次《架構師的自我修煉》,非常珍貴,我爭取到了2本送給大家,送書規則見文末。可以參與下&#x…

WinForm中使用Excel控件

最近項目中要在WinForm中使用Excel控件,經過幾天的研究,現在總結一下成果。 在WinForm中使用Excel控件主要有三種方法:WebBrowser、DSOFramer、OWC。下面分別描述一下如何使用。 一、WebBrowser /// -1、如何使用 WebBrowser 控件…

python腳本自動化盲注_三、基于報錯型注入和sql盲注的自動化實現

通過前面payload的構造,不難發現,對于報錯型注入和布爾注入(sql盲注)純手工注入的效率是非常慢的。這些payload語句雖然復雜,但大部分內容都是相同的,因此,一言不合就寫了個腳本自動化注入,坐等信息爆出的感…

NASA公布“門戶計劃”,在月球軌道建立空間站進一步探索月球

門戶是NASA研發一種小型的宇宙飛船的名字,該宇宙飛船將圍繞月球軌道運行 成為宇航員臨時住所和辦公室。 日前,美國宇航局(以下簡稱“NASA”)公布了“門戶計劃”,該計劃具體是指在月球軌道上建立空間站,以幫…

淺析Page.LoadTemplate(模板)方法動態獲取綁定模板后,通過FindControl獲取服務端控件的方法。...

平常使用DataList數據控件綁定數據時&#xff0c;都是在ItemTemplate項里面放入 <asp:DataList ID"list2"runat"server"><ItemTemplate><asp:HyperLink ID"hl"runat"server"></asp:HyperLink></ItemTempl…

蘋果5s變磚_蘋果磚的故事以及可以改進的地方

蘋果5s變磚Even since I can remember I’ve always been curious about trying out all kinds of software, checking out different operating systems, and improving my own user experience through customizing them. Over the years I’ve had the opportunity to test …

學習 launch-editor 源碼整體架構,探究 vue-devtools「在編輯器中打開組件」功能實現原理...

1. 前言你好&#xff0c;我是若川[1]&#xff0c;微信搜索「若川視野」關注我&#xff0c;專注前端技術分享&#xff0c;一個愿景是幫助5年內前端開闊視野走向前列的公眾號。歡迎加我微信ruochuan12&#xff0c;長期交流學習。這是學習源碼整體架構系列 之 launch-editor 源碼&…

:傳遞給 left 或 substring 函數的長度參數無效。_Java函數式編碼結構-好程序員

好程序員Java培訓分享Java函數式編碼結構&#xff0c;本文將探討三種下一代JVM語言&#xff1a;Groovy、Scala和Clojure&#xff0c;比較并對比新的功能和范例&#xff0c;讓Java開發人員對自己近期的未來發展有大體的認識&#xff0c;下面我們一起來看一下吧。當垃圾回收成為主…

系統架構師學習筆記_第十一章(上)_連載

第十一章 信息安全技術 11.1 信息安全關鍵技術 11.1.1 加密和解密 有意的計算機犯罪 和 無意的數據破壞 被動攻擊&#xff1a;非法地從傳輸信道上截取信息&#xff0c;或從存儲載體上 偷竊、復制 信息。 主動攻擊&#xff1a;對傳輸或存儲的數據進行 惡意的刪除、篡改 等。 …