PHP程序設(shè)計(jì)課件:Laravel路由_第1頁(yè)
PHP程序設(shè)計(jì)課件:Laravel路由_第2頁(yè)
PHP程序設(shè)計(jì)課件:Laravel路由_第3頁(yè)
PHP程序設(shè)計(jì)課件:Laravel路由_第4頁(yè)
PHP程序設(shè)計(jì)課件:Laravel路由_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Laravel框架基礎(chǔ)

Laravel路由引入

Laravel中的路由是用來匹配用戶請(qǐng)求的URL地址的,那如何使用Laravel中的路由呢?路由簡(jiǎn)介注冊(cè)路由路由參數(shù)重定向路由路由別名路由分組Laravel路由Laravel框架是一款遵循model-view-controller(MVC)架構(gòu)模式的分層框架結(jié)構(gòu),將業(yè)務(wù)邏輯定義在控制器(controller)組件中,將視圖界面定義在視圖(view)組件中,通過模型(model)建立與后臺(tái)數(shù)據(jù)庫(kù)的聯(lián)系。Laravel框架的所有訪問定義在專門的路由文件中,所有的請(qǐng)求都要通過路由調(diào)用中間件等經(jīng)過M層傳遞到C層。一、路由簡(jiǎn)介L(zhǎng)aravel路由Laravel中的路由是用來匹配用戶請(qǐng)求的URL地址的。當(dāng)用戶通過URL發(fā)出訪問服務(wù)器資源的請(qǐng)求時(shí),Laravel根據(jù)事先定義在路由配置文件中的路由對(duì)用戶的請(qǐng)求進(jìn)行解析。Laravel路由都定義在routes目錄下,通過框架自動(dòng)加載。對(duì)于大多數(shù)應(yīng)用而言,都是從routes\web.php文件開始定義路由。routes\web.php文件定義了Web界面的路由,這些路由被分配給Web中間件組,從而可以提供Session和CSRF防護(hù)等功能。二、注冊(cè)路由Laravel路由Laravel中所有的訪問,都必須手工在路由配置文件中進(jìn)行聲明,也叫注冊(cè)路由。如果沒有注冊(cè)路由,將不能被訪問。Laravel這種路由策略對(duì)網(wǎng)站安全起一定的保護(hù)作用。注冊(cè)路由的語(yǔ)法格式如下:

Route::請(qǐng)求方式('請(qǐng)求URL',路由指向的資源);請(qǐng)求方式,可以是get、post、put、delete等,其中g(shù)et和post是最常用的方式。請(qǐng)求URL,最簡(jiǎn)單可設(shè)置為“/”,表示訪問的是網(wǎng)站主頁(yè)。路由指向的資源,可以是匿名函數(shù)、可以是控制器相應(yīng)的方法、也可以是視圖。操作案例示例1注冊(cè)一個(gè)get方式路由,路由地址為“/hello”,用來返回“HelloWorld!”的提示信息。瀏覽器地址欄中輸入:。打開routes\web.php文件,添加如下代碼:Route::get('/hello',function(){return'HelloWorld';});二、注冊(cè)路由Laravel路由在Route類中還提供了match()和any()這兩個(gè)靜態(tài)方法,其中,match()用來在一個(gè)路由中同時(shí)匹配多個(gè)請(qǐng)求方式;any()用來在一個(gè)路由中匹配任意請(qǐng)求方式。示例代碼如下所示://同時(shí)匹配get和post請(qǐng)求方式Route::match(['get','post'],'/test1',function(){return'測(cè)試match()匹配!';});//匹配任意請(qǐng)求方式Route::any('/test2',function(){return'測(cè)試any()匹配!';});三、路由參數(shù)Laravel路由在實(shí)際應(yīng)用中,有時(shí)需要通過路由向請(qǐng)求的資源傳遞信息、捕獲一些URL片段等,Laravel允許在請(qǐng)求URL中傳遞一些動(dòng)態(tài)的參數(shù),這些參數(shù)稱為路由參數(shù),路由參數(shù)分為必選參數(shù)和可選參數(shù)。

必選參數(shù)的語(yǔ)法格式為:{參數(shù)名}

可選參數(shù)的語(yǔ)法格式為:{參數(shù)名?}路由參數(shù)總是通過花括號(hào)“{}”進(jìn)行包裹,這些參數(shù)在路由被執(zhí)行時(shí)會(huì)被傳遞到路由指向的資源中??蛇x參數(shù)通過在參數(shù)名后加一個(gè)問號(hào)“?”標(biāo)記來實(shí)現(xiàn),這種情況下需要給相應(yīng)的變量指定默認(rèn)值。可以按需要在路由中定義多個(gè)路由參數(shù)。操作案例示例2注冊(cè)一個(gè)get方式路由,路由地址為“/saygood1”,帶有一個(gè)必選參數(shù)sname;再注冊(cè)一個(gè)get方式路由,路由地址為“/saygood2”,帶有一個(gè)可選參數(shù)sname。打開routes\web.php文件,添加如下代碼://帶有必選參數(shù)Route::get('/saygood1/{sname}',function($sname){return'Hello,'.$sname.'早上好!';});//帶有可選參數(shù)Route::get('/saygood2/{sname?}',function($sname=''){return'Hello,'.$sname.'晚上好!';});操作案例示例2注冊(cè)一個(gè)get方式路由,路由地址為“/saygood1”,帶有一個(gè)必選參數(shù)sname;再注冊(cè)一個(gè)get方式路由,路由地址為“/saygood2”,帶有一個(gè)可選參數(shù)sname。測(cè)試必選參數(shù)。瀏覽器地址欄中輸入:。再在瀏覽器地址欄中輸入:。操作案例示例2注冊(cè)一個(gè)get方式路由,路由地址為“/saygood1”,帶有一個(gè)必選參數(shù)sname;再注冊(cè)一個(gè)get方式路由,路由地址為“/saygood2”,帶有一個(gè)可選參數(shù)sname。測(cè)試可選參數(shù)。瀏覽器地址欄中輸入:。再在瀏覽器地址欄中輸入:。四、重定向路由Laravel路由重定向路由用來實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn)。可以使用Route::redirect()方法快速實(shí)現(xiàn)重定向,而不需要定義完整的路由。其語(yǔ)法格式如下:

Route::redirect('源路由','目標(biāo)路由');操作案例示例3定義一個(gè)重定向路由,將路由地址由“/hi”重定向到“/hello”。瀏覽器地址欄中輸入:,則重定向到

進(jìn)行執(zhí)行。打開routes\web.php文件,添加如下代碼:Route::redirect('/hi','/hello');五、路由別名Laravel路由在注冊(cè)路由時(shí),可以為路由設(shè)置一個(gè)別名,這樣,當(dāng)在其他地方用到這個(gè)路由地址時(shí),就可以不用書寫原來的地址,只要通過這個(gè)別名來引用即可。如果在多個(gè)地方都要用到同一個(gè)路由地址,使用路由別名則是一個(gè)非常好的選擇。設(shè)置路由別名的語(yǔ)法格式如下:

Route::請(qǐng)求方式('請(qǐng)求URL',路由指向的資源)->name('別名');操作案例示例4注冊(cè)一個(gè)get方式路由,路由地址為“/hello/123”,設(shè)置路由別名為“hello”;再注冊(cè)一個(gè)get方式路由,路由地址為“/haha”,重定向到別名為“hello”的路由。打開routes\web.php文件,添加如下代碼:Route::get('/hello/123',function(){return'Hi';})->name('hello');Route::get('/haha',function(){returnredirect()->route('hello');});瀏覽器地址欄中輸入:,則重定向到

進(jìn)行執(zhí)行,輸出“Hi”的執(zhí)行結(jié)果。通過使用“route(別名)”的方式,可以代替所對(duì)應(yīng)的路由地址。六、路由分組Laravel路由路由分組就是將多個(gè)路由定義成組。路由分組的目的是在多個(gè)路由中共享相同的路由屬性。路由分組使用Route::group()來實(shí)現(xiàn),其語(yǔ)法格式如下:

Route::要分配的共享的屬性->group(function(){

組內(nèi)路由1

組內(nèi)路由2

……

});要分配的共享的屬性可以是路由的前綴(prefix)、中間件(middleware)、命名空間(namespace)等。操作案例示例5有兩個(gè)具有相同前綴的路由“/home/login”和“/home/reg”,通過路由分組的方式進(jìn)行注冊(cè)。打開routes\web.php文件,添加如下代碼:Route::prefix('home')->group(function(){Route::get('login',funct

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論