最新laravel框架_第1頁
最新laravel框架_第2頁
最新laravel框架_第3頁
最新laravel框架_第4頁
最新laravel框架_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、LaravelLaravel框架初探框架初探光明網(wǎng)產(chǎn)品服務(wù)部Part OnePHP框架概述框架概述01011-1 PHP1-1 PHP框架概述框架概述框架是一堆代碼的集合,這些代碼里邊有變量、常量、方框架是一堆代碼的集合,這些代碼里邊有變量、常量、方法、函數(shù)、類。法、函數(shù)、類。這些代碼里邊也有設(shè)計(jì)模式,例如:這些代碼里邊也有設(shè)計(jì)模式,例如:MVCMVC、單例、單例、ARAR、工廠。工廠。框架最大的特點(diǎn)的使得程序的業(yè)務(wù)邏輯與數(shù)據(jù)模型有分開??蚣芎?jiǎn)介框架簡(jiǎn)介1-2 PHP1-2 PHP框架分類框架分類重量級(jí):功能多、OOP面向?qū)ο?、維護(hù)性好、生命力非常頑強(qiáng)zendframework:zend公司官

2、方框架,重量級(jí)的,功能非常豐富Yii:xueqiang,qiang,重量級(jí),OOP面向?qū)ο?。功能豐富,外國人使用最多的框架。cakephp:外國框架,功能較豐富。重量級(jí),速度慢symfony:外國重量級(jí)框架,功能豐富。輕量級(jí):功能實(shí)用,面向過程和面向?qū)ο蠡旌螩odeIgniter:輕量級(jí)框架,開發(fā)速度快ThinkPHP:國人開發(fā)的一個(gè)輕量級(jí)框架、注釋都是中文的。國人使用非常廣泛。Laravel介于兩者之間框架分類框架分類1-3 1-3 PHPPHP框架使用統(tǒng)計(jì)框架使用統(tǒng)計(jì)各個(gè)框架受歡迎程度統(tǒng)計(jì)各個(gè)框架受歡迎程度統(tǒng)計(jì)這是2015年3月一次框架使用情況的統(tǒng)計(jì),在這次統(tǒng)計(jì)中l(wèi)aravel以其獨(dú)特的優(yōu)

3、勢(shì)遙遙領(lǐng)先Part Two laravel的安裝的安裝02022-1 Composer2-1 Composer的定義的定義何為何為ComposerComposer: Composer Composer是是phpphp的類依賴關(guān)系的管理器。的類依賴關(guān)系的管理器。出現(xiàn)背景:出現(xiàn)背景: 互聯(lián)網(wǎng)上有千千萬萬的類庫插件,每個(gè)插件來解決某互聯(lián)網(wǎng)上有千千萬萬的類庫插件,每個(gè)插件來解決某個(gè)問題,但是這些插件分散在不同的官網(wǎng)、博客,非常難尋個(gè)問題,但是這些插件分散在不同的官網(wǎng)、博客,非常難尋找,而且這些類庫和插件不斷在成長(zhǎng)完善,一旦涉及到更新,找,而且這些類庫和插件不斷在成長(zhǎng)完善,一旦涉及到更新,那么就要到這些

4、插件類庫的官網(wǎng)去下載相應(yīng)的最新版本。這那么就要到這些插件類庫的官網(wǎng)去下載相應(yīng)的最新版本。這樣很麻煩。樣很麻煩。 在這種情況下在這種情況下Composer Composer 應(yīng)運(yùn)而生。應(yīng)運(yùn)而生。我們可以使用我們可以使用composercomposer來使用和管理這些插件和類庫,而且來使用和管理這些插件和類庫,而且安裝和更簡(jiǎn)單,只需要一條命令就可以輕松完成。安裝和更簡(jiǎn)單,只需要一條命令就可以輕松完成。 2-1 Composer2-1 Composer的安裝的安裝composercomposer支持多系統(tǒng)比如蘋果、支持多系統(tǒng)比如蘋果、linuxlinux、WindowsWindows多個(gè)平臺(tái)多個(gè)平臺(tái)

5、WindowsWindows上的安裝上的安裝 1 1、下載、下載Composer-Setup.exeComposer-Setup.exe可執(zhí)行程序可執(zhí)行程序 /Composer-Setup.exe/Composer-Setup.exe 2 2、雙擊運(yùn)行程序,點(diǎn)擊、雙擊運(yùn)行程序,點(diǎn)擊nextnext 2-1 Composer2-1 Composer的安裝的安裝3 3、是否安裝右鍵快捷命令、是否安裝右鍵快捷命令點(diǎn)擊下一步點(diǎn)擊下一步next.next. 4 4、選擇、選擇php.exephp.exe的目錄的目錄

6、需要注意:需要注意:PHP環(huán)境:5.4+PHP擴(kuò)展:開啟openssl擴(kuò)展 2-1 Composer2-1 Composer的安裝的安裝5、執(zhí)行下載composer(需要到外國服務(wù)器,有時(shí)候不穩(wěn)定,可以使用代理)6、在cmd命令行執(zhí)行composer命令如果看到幫助頁面恭喜你安裝成功請(qǐng)演示2-2 2-2 安裝安裝laravellaravel1、進(jìn)入一個(gè)文件夾內(nèi)執(zhí)行(改文件夾是你選擇的項(xiàng)目文件夾)2、執(zhí)行一條命令安裝laravel composer create-project laravel/laravel -prefer-dist my_laravel3、開始安裝依賴文件4、安裝成功。2-2

7、 2-2 安裝安裝laravellaravel然后配置虛擬主機(jī)1、注意虛擬主機(jī)一定要指定到安裝目錄的public目錄下2、在linux系統(tǒng)下進(jìn)行安裝的一定要注意Storage和vendor的權(quán)限??梢允褂肅hown R apache:apache storageChown R apache:apache vendor2-1 2-1 安裝安裝laravellaravel另一種安裝方式是直接下載安裝包進(jìn)行安裝1、到這個(gè)http:/ install命令就可以直接安裝 請(qǐng)演示2-2 laravel2-2 laravel目錄目錄Laravel的目錄結(jié)構(gòu) (1) app目錄:應(yīng)用程序的主要目錄,大部分工作

8、都在這個(gè)目錄下進(jìn)行(控制器文件(app/http/controllers)、模型文件(app/)、路由文件(app/http/routes.php)) (2) config目錄:記錄了Laravel框架的常用配置文件信息 (3) .env文件:Laravel框架全局配置文件 (4) database目錄:數(shù)據(jù)庫遷移 migrate (5) public目錄:應(yīng)用程序的入口文件,同時(shí)也是靜態(tài)資源文件目錄(css、javascript、images) (6) resources目錄:視圖文件目錄(resources/views) (7) vendor目錄:外部庫目錄(包含Laravel框架源代碼)

9、 (8) storage目錄:緩存文件目錄Part ThreeLaravel的核心知識(shí)的核心知識(shí)03032-1 laravel2-1 laravel的路由的路由路由的定義是:把用戶的HTTP請(qǐng)求,交給指定的控制器或者方法來處理它。路由的功能是:宏觀的分發(fā)和限制請(qǐng)求,用戶的http請(qǐng)求要指定那個(gè)控制器方法來執(zhí)行。路由不同于其他的框架,他最大的特點(diǎn)是可以定制。設(shè)置路由主要是在文件項(xiàng)目文件夾/app/Http/routes.php的文件下。2-1 laravel2-1 laravel的路由的路由路由的設(shè)置 基本上都是使用Route的靜態(tài)類來設(shè)置路由的規(guī)則 路由三種常見形式: 1、HTTP請(qǐng)求的路由:

10、 Route:get(url信息, 處理的邏輯地址或功能代碼); Route:put(url信息, 處理的邏輯地址或功能代碼); Route:post(url信息, 處理的邏輯地址或功能代碼); Route:delete(url信息, 處理的邏輯地址或功能代碼); 2、Resource路由: RESTful路由,url和控制器中的7個(gè)標(biāo)準(zhǔn)RESTful動(dòng)作相綁定 Route:resource(/, 控制器名稱); 3、控制器路由: url和控制器中的所有動(dòng)作(只需要按照指定的規(guī)范來編寫動(dòng)作即可) Route:controller(url相關(guān)信息, 控制器名稱); 2-1 laravel2-1

11、laravel的路由的路由路由的處理:路由的處理有兩種形式 把路由的處理交給控制器中的某個(gè)動(dòng)作處理 直接處理路由(使用閉包函數(shù)形式處理)路由的傳參Route:get(view/id, function($id) return 您傳遞的參數(shù)是.$id; ); 傳參get的第一個(gè)參數(shù)指定參數(shù)的一個(gè)占位,然后在控制器或者閉包函數(shù)中接受參數(shù) 注意:如果是參數(shù)設(shè)置為默認(rèn)的,可傳遞可以不傳遞那么設(shè)置方法如下Route:get(view/id?, function($id=1) return 您傳遞的參數(shù)是.$id; ); 在第一個(gè)參數(shù)中占位符后加一個(gè)?然后在閉包函數(shù)或者控制器方法中給一個(gè)默認(rèn)值 2-1 l

12、aravel2-1 laravel的路由的路由路由的設(shè)置 基本上都是使用Route的靜態(tài)類來設(shè)置路由的規(guī)則 1、get方式設(shè)置 Route:get(/,WelcomeControllerindex); 第一個(gè)參數(shù)為用戶訪問的地址,第二個(gè)是指定處理的方法,可以使控制器中的方法也可以使一個(gè)閉包函數(shù) Route:get(/,function() return welcome; ); 用戶訪問根目錄是,請(qǐng)求為WelcomeController控制器下的index方法 2-1 2-1 2、POST方式設(shè)置 Route:post(/test,WelcomeControllerdopost); form表單

13、帶著數(shù)據(jù)傳遞到域名/test,時(shí)交給WelcomeController控制器的dopost的方法進(jìn)行處理 其中第一個(gè)參數(shù)可以直接不寫/直接寫test 要注意在laravle中有默認(rèn)的驗(yàn)證跨域提交的機(jī)制 需要在表單中定義一個(gè)input隱藏inut 3、any Route:any(/test2,WelcomeControlleranyhttp); 無論什么樣的請(qǐng)求都可以過去4、使用Route:resource(url相關(guān)信息, 控制器名稱); 這種方法一定義就規(guī)定起個(gè)標(biāo)準(zhǔn)的路由設(shè)置,這種方法不建議使用,因?yàn)閷?shí)際開發(fā)過程中可能遇到各種情況,標(biāo)準(zhǔn)的情況很多時(shí)候不適用。 laravellaravel的路

14、由的路由2-1 2-1 控制器控制器控制器是請(qǐng)求的二級(jí)分發(fā)者,一條請(qǐng)求如果通過路由。如果通過路由那么到達(dá)控制器那么請(qǐng)求交給控制器,進(jìn)行處理,然后做出相應(yīng)。創(chuàng)建控制器 1、手動(dòng)創(chuàng)建 可以復(fù)制一個(gè)控制器,然后去修改,控制器位于app/Http/Controllers/目錄下 控制器的命名規(guī)范, 字母的首字母大寫,比如建一個(gè)my的控制器名稱為MyController,在此控制器中需要繼承Laravel框架的控制器. 2、命令行創(chuàng)建 在命令行下進(jìn)入laravel的項(xiàng)目目錄下執(zhí)行如下的命令,php artisan make:controller 控制器名 php artisan make:control

15、ler MyController 這樣就創(chuàng)建好了一個(gè)包含有基本方法的控制器 2-1 2-1 控制器控制器當(dāng)使用artisan命令創(chuàng)建好控制器后,控制器中已經(jīng)為我們提供了一些基本方法(7個(gè));本質(zhì)上這7個(gè)方法就是標(biāo)準(zhǔn)RESTful形式URL。如果不想這樣這些資源方法可以使用php artisan make:controllrt MyController -plain的方法來生成控制器。這個(gè)基本的方法如何綁定呢,使用Route:resource(restfull,MyController);其他控制器如何綁定呢:在路由控制器文件app/http/route.php的route的靜態(tài)方法的第二個(gè)參數(shù)

16、進(jìn)行綁定控制器和方法之間使用標(biāo)示控制器調(diào)用其中的index的方法,例如:Route:post(rec,RecControllerdopost);動(dòng)詞路徑行為路由名稱GET/photo索引photo.indexGET/photo/create創(chuàng)建photo.createPOST/photo保存photo.storeGET/photo/photo顯示photo.showGET/photo/photo/edit編輯photo.editPUT/PATCH/photo/photo更新photo.updateDELETE/photo/photo刪除photo.destroy2-1 2-1 視圖視圖視圖:處

17、理結(jié)果的可視化,用戶的請(qǐng)求的相應(yīng)的展現(xiàn)形式。視圖使用view函數(shù)。View的文件放在app/resource/views的文夾下,視圖的擴(kuò)展名一般為視圖文件名.blade.php視圖一般是在控制器的方法中使用到。也可以將視圖寫在路由中,僅僅測(cè)試用。Route:(/view,function() return view(viewtest);/其實(shí)view(模板文件名)只是view:make(模板文件名的一個(gè)簡(jiǎn)化方法););在控制器中創(chuàng)建,比如在app/http/controllers中的控制器MyController中注意要訪問此控制器那么要注冊(cè)路由Route:(/my,MyController

18、showview)public function showview() return view(my.viewtest);上面view方法的.表示在my這個(gè)文件夾下的viewtest視圖那么在app/resources/views/my/文件夾下建立viewtest.blade.php的視圖文件2-1 2-1 視圖視圖向視圖中傳遞參數(shù)傳統(tǒng)形式:view(視圖文件)-with(key, value);/key為變量名value為變量值 傳遞多個(gè)值view(視圖文件)-with(key=value,key2=value2);/(2) 魔術(shù)方法形式:view(視圖文件)-withKey2Name(v

19、alue);也可以使用魔術(shù)方法(3) 將參數(shù)的數(shù)組作為view的第二個(gè)參數(shù)傳遞 先定義參數(shù)數(shù)組 $data=key=value,key2=value2; 可以這樣傳遞參數(shù)的值 view(視圖文件,$data);/與ci框架相似(4),使用compact,將變量名使用compact連起來 $name=小明; $age=27; view(視圖文件,compact (name,age); 2-1 blade2-1 blade模板引擎模板引擎Laravel的模板使用blade的模板引擎在具體的模板中可以使用php標(biāo)簽的形式來輸出內(nèi)容。為了簡(jiǎn)化工作和使得代碼更加優(yōu)雅美化使用balde模板引擎1、輸出變量

20、 模板引擎中輸出變量使用兩個(gè)大括號(hào)的形式。 比如在模板文件中使用$name其實(shí)相當(dāng)于 其中變量的輸出還可以使用!$name!的這種形式這兩者的區(qū)別是: 的這種形式對(duì)于有html標(biāo)簽的轉(zhuǎn)移去除后輸出, !的這種形式直接將html標(biāo)簽進(jìn)行輸出在頁面(不建議這樣,因?yàn)槿绻袛?shù)據(jù)庫中一旦有js數(shù)據(jù)串,那么在頁面執(zhí)行后會(huì)直接在頁面上執(zhí)行js語句) 還有一種是這種形式的變量輸出,這種形式的變量輸出將html的標(biāo)簽都實(shí)體化然后在頁面上顯示 輸出。 2-1 blade2-1 blade模板引擎模板引擎Blade的控制流,id判斷,在模板引擎中使用if做判斷if($id3) 代碼段1elseif($id2) 代

21、碼段2else 代碼段3endif在blade模板中執(zhí)行循環(huán)操作1、foreach循環(huán)數(shù)組操作foreach($data as $key=$name) 循環(huán)體endforeach2-1 blade2-1 blade模板引擎模板引擎在blade模板中執(zhí)行循環(huán)操作2、for循環(huán)數(shù)組操作for($i=1;$igetDatabaseName();Echo $name;)4-1 使用配置數(shù)據(jù)庫信息使用配置數(shù)據(jù)庫信息執(zhí)行一行命令便可以停掉服務(wù)器對(duì)外訪問php artisan down 這樣所有的請(qǐng)求都會(huì)調(diào)到錯(cuò)誤頁面,具體錯(cuò)誤頁面是在Resources/views/error/503.blade.php,這

22、里面的模板可以自己定義如果服務(wù)器問題解決了那么可以開啟服務(wù)可以執(zhí)行另一條命令用戶便可以正常訪問了Php artisan up4-1 使用配置數(shù)據(jù)庫信息使用配置數(shù)據(jù)庫信息局部的配置信息主要在根目錄下的config目錄下這里我們可以看到有不同的配置文件比如app.php、database.php、session.php下面我們看一下database.php文件returndefault=mysql,設(shè)置默認(rèn)的數(shù)據(jù)類型connections=Mysql=host=env(DB_HOST,localhost);/這里使用了env方法 這里使用了env方法,env方法第一個(gè)參數(shù)是獲取在全局配置文件中設(shè)置

23、的參數(shù),第二個(gè)參數(shù)是如果第一個(gè)參數(shù)沒有那么該項(xiàng)的參數(shù)為第二個(gè)4-2 數(shù)據(jù)庫的版本控制數(shù)據(jù)庫的版本控制1、告別了傳統(tǒng)的建表方式laravel提供了一個(gè)版本控制的數(shù)據(jù)庫建表的方式,直接使用PHP代碼結(jié)合命令行,而不是使用SQL語句來操作數(shù)據(jù)庫。不僅僅代碼mysql的操作也可以使用版本管理了。主要是使用migration工具。2、Migration的數(shù)據(jù)庫文件目錄是database/migration如何使用: a、在使用之前需要先配置數(shù)據(jù)庫信息,在.env下配置。 b、使用命令行創(chuàng)建數(shù)據(jù)遷移文件php artisan make:migration create_users_table - crea

24、te users 以上命令中create_users_table組成了數(shù)據(jù)遷移文件的后半部分,后面的users為指定的數(shù)據(jù)表的名稱 c、這樣就生成了一個(gè) :年_月_日_時(shí)分秒_ create_users_table.php的文件 d、在這個(gè)文件中有兩個(gè)重要的方法up和down方法,up()執(zhí)行遷移文件操作,down()是完全相反。就像word文檔中的撤銷命令,也就是說up中的方法是執(zhí)行數(shù)據(jù)遷移的方法 php artisan migratedown方法是執(zhí)行數(shù)據(jù)回滾的方法php artisan migrate:rollback命令的操作。 注意:執(zhí)行完成數(shù)據(jù)遷移要及時(shí)刪除,要不然在執(zhí)行php a

25、rtisan migrate時(shí)所有的database/migration的數(shù)據(jù)遷移文件的up方法都會(huì)執(zhí)行,雖然一次回滾數(shù)據(jù)結(jié)構(gòu)會(huì)還原但是原來的數(shù)據(jù)已經(jīng)丟失,慎重操作。 4-2 數(shù)據(jù)庫的版本控制數(shù)據(jù)庫的版本控制看一下其中的方法up方法,以新建數(shù)據(jù)庫user為例public function up() Schema:create(users, function(Blueprint $table)/這里的users就是要?jiǎng)?chuàng)建的表名 $table-increments(id);/創(chuàng)建一個(gè)名為id字段,該字段自動(dòng)增長(zhǎng) $table-string(name);/創(chuàng)建一個(gè)sting類型的字段,字段名為nam

26、e, $table-string(email)-unique();/創(chuàng)建一個(gè)名為email的string類型字段,該字段唯一 $table-string(password, 60);/創(chuàng)建一個(gè)名為password的string類型字段,長(zhǎng)度60 $table-rememberToken();調(diào)用一個(gè)方法在登錄的時(shí)候更方便實(shí)用,Laravel會(huì)自動(dòng)將token值填充進(jìn)來 $table-timestamps();/當(dāng)前的時(shí)間戳 ); 4-2 數(shù)據(jù)庫的版本控制數(shù)據(jù)庫的版本控制看一下其中的方法down方法,public function down()Schema:drop(users);/刪掉數(shù)據(jù)庫

27、然后執(zhí)行php artisan migrate,數(shù)據(jù)便可以創(chuàng)建成果 Up的方法和down的方法中執(zhí)行的邏輯是相反的這是創(chuàng)建數(shù)據(jù)表的操作,修改表字段結(jié)構(gòu)也可以使用這一的方法演示:4-2 模型模型創(chuàng)建模型類也是使用命令行來創(chuàng)建Cmd進(jìn)入項(xiàng)目目錄下執(zhí)行如下程序Php artisan make:model Article(表名)這里需要注意創(chuàng)建好的文件為app/Article.php,命名空間和基本的代碼都已經(jīng)好但是這里需要注意的一點(diǎn)是Article這里指定表名實(shí)際對(duì)應(yīng)的articles的表名,如果需要修改的話可以在app/Article.php中修改table的保護(hù)屬性。下面我們看一下在model模

28、型中其他有用的屬性 protected $fillable = email, password;/表示可以被直接填充數(shù)據(jù)的字段 protected $guarded = id;/id字段是受保護(hù)的只能插入數(shù)據(jù)時(shí)自動(dòng)填充 protected $hidden=password,隱藏字段在查詢時(shí)查詢不出來數(shù)據(jù)$user = new AppArticle();初始化Article的類,$user-all();查詢出所有數(shù)據(jù)時(shí)沒有隱藏字段的值4-2 數(shù)據(jù)庫的增刪改查數(shù)據(jù)庫的增刪改查增刪修改查詢的方法在相對(duì)應(yīng)的model層實(shí)現(xiàn)1、查詢的方法 a、使用find方法 public function() ret

29、urn $this-find(1); 注意:該方法查詢id為1的數(shù)據(jù),如果主鍵不為id,那么需要修改該數(shù)據(jù)類中保護(hù)屬性$protect $primaryKey = 主鍵字段。另外這個(gè)方法如果查詢不到數(shù)據(jù)就會(huì)返回空值,如果想查詢不到就報(bào)錯(cuò)可以使用findOrFail(1); b、使用where方法查詢 使用此方法查詢時(shí)需要傳遞三個(gè)參數(shù),第一個(gè)參數(shù)要查詢的字段第二個(gè)邏輯符號(hào)(where(userid, ,3)-get(); /執(zhí)行用戶的id字段的值大于3的數(shù)據(jù) 4-2 數(shù)據(jù)庫的增刪改查數(shù)據(jù)庫的增刪改查2、新增數(shù)據(jù) a、單條數(shù)據(jù)的增加 public function userAdd() $this-

30、username=admin;/username為要操作的字段,admin要插入的值 $age-age=29; $this-save(); 注意這是插入會(huì)報(bào)錯(cuò),因?yàn)閘aravel插入數(shù)據(jù)時(shí)自動(dòng)插入數(shù)據(jù)的更新時(shí)間個(gè)創(chuàng)建時(shí)間,如果數(shù)據(jù)表中沒有這兩個(gè)字段就會(huì)報(bào)錯(cuò),那么我們需要關(guān)閉這個(gè)功能 public $timestamps = false;/對(duì)于數(shù)據(jù)表中沒有新增時(shí)間和更新時(shí)間的要這樣設(shè)置 b、使用fill方法 public function userAdd() $data=username=user23,age=29; $this-fill($data); $this-save();/執(zhí)行save

31、方法便會(huì)保存一個(gè)值 4-2 數(shù)據(jù)庫的增刪改查數(shù)據(jù)庫的增刪改查3、更新數(shù)據(jù) 更新數(shù)據(jù)首先要找到該數(shù)據(jù) public function updata() $user = $this-find(3);/找到要更新的數(shù)據(jù) $user-username=coco;/重新定義該字段的值 $user-save();/執(zhí)行保存方法 4、刪除數(shù)據(jù) 也是先找到該數(shù)據(jù)然后執(zhí)行刪除操作 public function delect() $dat = $this-find(4); $dat-delete(); 4-2 數(shù)據(jù)庫的增刪改查數(shù)據(jù)庫的增刪改查3、更新數(shù)據(jù) 更新數(shù)據(jù)首先要找到該數(shù)據(jù) public function

32、 updata() $user = $this-find(3);/找到要更新的數(shù)據(jù) $user-username=coco;/重新定義該字段的值 $user-save();/執(zhí)行保存方法 4、刪除數(shù)據(jù) 也是先找到該數(shù)據(jù)然后執(zhí)行刪除操作 public function delect() $dat = $this-find(4); $dat-delete(); 4-2 表單請(qǐng)求表單請(qǐng)求Form表單通常在一個(gè)視圖中但是post提交的請(qǐng)求laravel框架會(huì)自動(dòng)驗(yàn)證token,所以在寫每個(gè)表單的時(shí)候都要加上一個(gè)隱藏的表單input,比如: /告訴laravletoken過來了看一下對(duì)不對(duì) 如果提交的是

33、帶有文件 在form定義的要加一個(gè)enctype=“multipart/form-data“這個(gè)屬性 4-2 接受用戶請(qǐng)求接受用戶請(qǐng)求獲取用戶提交數(shù)據(jù)的函數(shù)使用Input類的方法 Input:get( name);/獲取用戶get形式輸入的數(shù)據(jù)name字段的值, get方法可以設(shè)置默認(rèn)值,只要在get方法的第二個(gè)參數(shù)為取不到數(shù)據(jù)時(shí)的默認(rèn)值 Input:get(name,admin),如果用戶傳遞的數(shù)據(jù)中沒有name的數(shù)據(jù),那么默認(rèn)name為admin使用Request的方法 Request:all();/接受用戶的所有提交的數(shù)據(jù)包括get、post、cookie、session等數(shù)據(jù) Requ

34、est:query();類似于get方法,只接受get類型傳輸?shù)臄?shù)據(jù),不指定參數(shù)為去所有的get類型傳遞過來的數(shù)據(jù),加上參數(shù)表示要獲取那個(gè)數(shù)據(jù), Request:query(name,age);/獲取get傳遞過來的name和age的值 Requent:has(name);/判斷用戶傳遞的數(shù)據(jù)是不是有name的鍵,并且他的值是否為空存在,如果沒有這個(gè)鍵或者這個(gè)鍵的值為空都返回false Requent:exists(name),只判斷用戶傳遞的值中是有name的鍵,如果有返回ture,否則返回false. 4-2 接受用戶請(qǐng)求接受用戶請(qǐng)求請(qǐng)求檢索函數(shù) Request:only(name,age

35、);/只取用戶提交數(shù)據(jù)的鍵為name和age的數(shù)據(jù) Request:except(name,age);/取除了鍵為name和age的之外的一切數(shù)據(jù)數(shù)據(jù) 關(guān)于url地址的函數(shù) Request:url();/返回url地址,只返回域名 Request:fullUrl();/返回ur整個(gè)信息 用戶請(qǐng)求歷史 應(yīng)用場(chǎng)景是,用戶在表單驗(yàn)證失敗后帶著用戶填的數(shù)據(jù)給用戶返回 Request:flash ();/將用戶提交的所有數(shù)據(jù)存入session, Request:old();返回所有的用戶上次提交的數(shù)據(jù),可以跨頁面顯示。不寫參數(shù)代表獲取所有的. Request:flashOnly (name,age);/只將 name和age的數(shù)據(jù)存到session中 Request:flashExcept (_token);/除了_token 之外的數(shù)據(jù)都存到session中 4-2 接受用戶請(qǐng)求接受用戶請(qǐng)求接受用戶傳遞的文件 ps: 在form中添加新屬性enctype=“multipart/form-data“ 1、接受文件的函數(shù) Request:file();/返回當(dāng)前這次請(qǐng)求中的所有文件。 Request:file(head);/接受name為head的input文件上傳域中的文件 Request:hasFile(head);/查看用戶是不傳遞了

溫馨提示

  • 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)論