50 Laravel中的控制器電子課件_第1頁
50 Laravel中的控制器電子課件_第2頁
50 Laravel中的控制器電子課件_第3頁
50 Laravel中的控制器電子課件_第4頁
50 Laravel中的控制器電子課件_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目3使用PHP框架Laravel來改寫會(huì)員管理系統(tǒng)任務(wù)5Laravel中的控制器成都職業(yè)技術(shù)學(xué)院軟件學(xué)院主講教師:牟奇春Laravel中的視圖和路由接下來,我們以前期完成的會(huì)員管理系統(tǒng)為例,使用Laravel來進(jìn)行改寫。先找到我們已經(jīng)完成的會(huì)員管理系統(tǒng),我們會(huì)把以前的部分代碼復(fù)制過來使用。Laravel中的視圖和路由1.創(chuàng)建視圖首先,我們來完成首頁的改寫。打開index.php,我們可以看到,首頁主要是包含了一個(gè)nav.php的文件。接下來,請(qǐng)將nav.php復(fù)制到view中,并改名為nav.blade.php。將index.php復(fù)制到view中,并改名為index.blade.php。然后打開index.blade.php文件,并將原來的include_once包含文件,修改成:Laravel中的控制器控制器的主要作用就是處理特定URL轉(zhuǎn)發(fā)過來的HTTP請(qǐng)求,然后進(jìn)行業(yè)務(wù)邏輯處理,將結(jié)果返回給某個(gè)特定的對(duì)象。Laravel

框架給我們提供了命令來創(chuàng)建控制器。我們可以在項(xiàng)目目錄所在的命令行中輸入以下命令來創(chuàng)建控制器:創(chuàng)建的控制器默認(rèn)創(chuàng)建在Controllers目錄下,如果需要?jiǎng)?chuàng)建子目錄下的控制器我們需要加入子目錄名稱:Laravel中的控制器Artisan是

Laravel

提供的CLI(命令行接口),它提供了非常多實(shí)用的命令來幫助我們開發(fā)Laravel應(yīng)用。比如,我們?cè)谇懊姘惭b好Laravel后,就使用了artisan工具來使用PHP內(nèi)置的開發(fā)服務(wù)器啟動(dòng)應(yīng)用?;氐轿覀兊臅?huì)員管理項(xiàng)目中,我們以會(huì)員登錄為例,給大家介紹一下控制器的使用。首先,將login.php文件復(fù)制到resources下面的view文件夾中,并改名成login.blade.php。打開login.blade.php文件,重新使用@include指令包含nav.blade.php文件。刪除文件頭部的session_start內(nèi)容。Laravel中的控制器Laravel中的控制器在路由文件web.php中創(chuàng)建如下路由:表示訪問“/login”,就返回視圖login的內(nèi)容。此時(shí),可以打開:8000/login查看結(jié)果。此文件中還包括有一些靜態(tài)文件,比如圖片等。接下來,請(qǐng)將img目錄復(fù)制到public中去,然后修改圖片路徑,在前面添加“/”即可。當(dāng)然,也可以使用輔助函數(shù)asset:Laravel中的控制器可以注意到,驗(yàn)證碼還是不能顯示。為了顯示驗(yàn)證碼,還需要添加一個(gè)路由。首先將code.php文件復(fù)制到view中,修改成code.blade.php,然后在web.php中添加以下內(nèi)容:然后將login.blade.php中的驗(yàn)證碼圖片代碼改一下:Laravel中的控制器可以看到,我們把img標(biāo)簽的src改成了{(lán){url('/code')}}。雙花括號(hào)是blade模板語法,用于顯示變量的內(nèi)容。url是Laravel中的輔助函數(shù),用于生成url路徑。此時(shí),我們?cè)偎⑿?8000/login,就可以看到正常的登錄界面了。Laravel中的控制器為了實(shí)現(xiàn)登錄的功能,我們需要?jiǎng)?chuàng)建一個(gè)控制器。在CMD中,輸入以下命令phpartisanmake:controllerLoginController創(chuàng)建控制器。創(chuàng)建好的控制器位于app/Http/Controllers下??刂破饕捎么篑劮迕?。在控制器中,添加一個(gè)方法login():Laravel中的控制器可以看到,方法login的參數(shù)指定了一個(gè)類Request和變量$request,這種方式稱為方法注入(依賴注入),這個(gè)指定的變量將包含指定類的實(shí)例。方法注入的優(yōu)點(diǎn)是可以簡(jiǎn)化代碼。還是以上面的代碼為例,如果沒有使用方法注入,則需要寫如下的代碼:在Laravel中,dd()屬于Laravel輔助函數(shù)。dd函數(shù)用于輸出給定的值并結(jié)束腳本運(yùn)行,可以打印Laravel中的所有變量,語法為“dd($value1,$value2...)”。Laravel中的控制器Laravel中的控制器為了實(shí)現(xiàn)表單的提交,接下來創(chuàng)建路由:我們?cè)赑hpStorm中輸入上面的代碼后,可以看到系統(tǒng)提示Undefinedclass'LoginController',這是因?yàn)長(zhǎng)oginController類找不到,只需要點(diǎn)擊提示下面的importclass鏈接,即可自動(dòng)引用LoginController類。此時(shí),會(huì)在web.php上面自動(dòng)添加下面這一行代碼:Laravel中的控制器需要注意,我們使用到了post方式。為了防止跨站攻擊,Laravel要求,凡是使用POST方式提交,必須要在表單中添加一個(gè)隱藏的CSRF令牌字段,可以是{{csrf_field()}},也可以是@csrf,示例如下:Laravel中的控制器接下來,我們修改一下表單的相關(guān)內(nèi)容:此時(shí),我們可以測(cè)試一下登錄功能,可以看到,我們?cè)跒g覽器中輸出了注冊(cè)頁面中填寫的各項(xiàng)數(shù)據(jù)。其中的_token字段就是系統(tǒng)自動(dòng)生成的防止跨站攻擊的令牌??偨Y(jié)Laravel中的控制器的主要作用就是處理特定URL發(fā)過來的HTTP請(qǐng)求,然后進(jìn)行業(yè)務(wù)邏輯處理,將結(jié)果返回給某個(gè)特定的對(duì)象。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論