日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

laravel php配置,PHP Laravel框架路由配置及设置技巧全解

發布時間:2025/4/5 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 laravel php配置,PHP Laravel框架路由配置及设置技巧全解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Laravel框架在PHP開發中使用十分廣泛,本文主要對Laravel框架中的路由設置作詳細的介紹,Laravel的路由配置非常靈活,如何設置好路由對PHP應用來說也是相當關鍵的。

基本路由

您的應用程序的絕大多數路由將在 app/routes.php 文件中定義。Laravel 中最簡單的路由由一個 URI 和一個閉包調用組成。

基本 GET 路由

Route::get('/',function(){return'Hello World';});

基本 POST 路由

Route::post('foo/bar',function(){return'Hello World';});

注冊一個路由以響應所有 HTTP 方法

Route::any('foo',function(){return'Hello World';});

強制一個路由必須通過 HTTPS 訪問

Route::get('foo',array('https',function(){return'Must be over HTTPS';}));

經常您需要根據路由產生 URLs,您可以通過使用 URL::to 方法:

$url = URL::to('foo');

路由參數

Route::get('user/{id}',function($id){return'User '.$id;});

可選的路由參數

Route::get('user/{name?}',function($name = null){return$name;});

帶默認值的可選的路由參數

Route::get('user/{name?}',function($name ='John'){return$name;});

帶正則表達式約束的路由

Route::get('user/{name}',function($name){//})->where('name','[A-Za-z]+');Route::get('user/{id}',function($id){//})->where('id','[0-9]+');

路由過濾器

路由過濾器提供了一種限制訪問指定路由的簡單的方法,這在您需要為您的站點創建需要認證區域的時候非常有用。Laravel 框架中包含了一些路由過濾器,比如 auth 過濾器、auth.basic 過濾器、guest 過濾器、以及 csrf 過濾器。它們被存放在 app/filters.php 文件中。

定義一個路由過濾器

Route::filter('old',function(){if(Input::get('age') <200){returnRedirect::to('home');}});

如果一個響應從一個路由過濾器中返回,這個響應即被認為是這個請求的響應,路由將不被執行,任何關于這個路由的 after 過濾器也將被取消執行。

為一個路由指定一個路由過濾器

Route::get('user',array('before'=>'old',function(){return'You are over 200 years old!';}));

為一個路由指定多個路由過濾器

Route::get('user',array('before'=>'auth|old',function(){return'You are authenticated and over 200 years old!';}));

指定路由過濾器參數

Route::filter('age',function($route, $request, $value){//});Route::get('user',array('before'=>'age:200',function(){return'Hello World';}));

當路由過濾器接收到作為第三個參數的響應 $response:

Route::filter('log',function($route, $request, $response, $value){//});

基本路由過濾器的模式

您可能希望根據 URI 為一組路由指定過濾器。

Route::filter('admin',function(){//});Route::when('admin/*','admin');

在上面的例子中,admin 過濾器將應用帶所有以 admin/ 開頭的路由。星號作為一個通配符,將適配到所有字符的組合。

您也可以通過指定 HTTP 方法約束模式過濾器:

Route::when('admin/*','admin',array('post'));

過濾器類

對于高級的過濾器,您可以使用一個類代替閉包函數。因為過濾器類是位于應用程序之外的 IoC 容器,您能夠在過濾器中使用依賴注入,更易于測試。

定義一個過濾器類

classFooFilter{publicfunctionfilter(){// Filter logic...}}

注冊一個基于類的過濾器

Route::filter('foo','FooFilter');

命名路由

命名路由在更易于在生成跳轉或 URLs 時指定路由。您可以像這樣為路由指定一個名字:

Route::get('user/profile',array('as'=>'profile',function(){//}));

您也可以為控制器的方法指定路由名字:

Route::get('user/profile',array('as'=>'profile','uses'=>'UserController@showProfile'));

現在您在生成 URLs 或跳轉的時候使用路由的名字:

$url = URL::route('profile');$redirect = Redirect::route('profile');

您可以使用 currentRouteName 方法獲取一個路由的名字:

$name = Route::currentRouteName();

路由組

有些時候您可能希望應用過濾器到一組路由。您不必要為每個路由指定過濾器,可以使用路由組:

Route::group(array('before'=>'auth'),function(){Route::get('/',function(){// Has Auth Filter});Route::get('user/profile',function(){// Has Auth Filter});});

子域名路由

Laravel 路由也能夠處理通配符的子域名,并且從域名中獲取通配符參數:

注冊子域名路由

Route::group(array('domain'=>'{account}.myapp.com'),function(){Route::get('user/{id}',function($account, $id){//});});

路由前綴

一組路由可以通過在屬性數組中使用 prefix 選項為路由組添加前綴:

為路由組添加前綴

Route::group(array('prefix'=>'admin'),function(){Route::get('user',function(){//});});

路由模型綁定

模型綁定提供了一個簡單的方法向路由中注入模型。比如,不僅注入一個用戶的 ID,您可以根據指定的 ID 注入整個用戶模型實例。首先使用 Route::model 方法指定所需要的模型:

為模型綁定一個變量

Route::model('user','User');

然后, 定義一個包含 {user} 參數的路由:

Route::get('profile/{user}',function(User $user){//});

因為我們已經綁定 {user} 參數到 User 模型,一個 User 實例將被注入到路由中。因此,比如一個 profile/1 的請求將注入一個 ID 為 1 的 User 實例。

注意: 如果在數據庫中沒有找到這個模型實例,將引發404錯誤。

如果您希望指定您自己定義的沒有找到的行為,您可以為 model 方法傳遞一個閉包作為第三個參數:

Route::model('user','User',function(){thrownewNotFoundException;});

有時您希望使用自己的方法處理路由參數,可以使用 Route::bind 方法:

Route::bind('user',function($value, $route){returnUser::where('name', $value)->first();});

引發404錯誤

有兩種方法在路由中手動觸發一個404錯誤。首先,您可以使用 App::abort 方法:

App::abort(404);

其次,您可以拋出一個 Symfony\Component\HttpKernel\Exception\NotFoundHttpException 的實例。

更多關于處理404異常和為這些錯誤使用使用自定義響應的信息可以在 錯誤 章節中找到。

路由至控制器

Laravel 不僅允許您路由至閉包,也可以路由至控制器類,甚至允許創建 資源控制器.

總結

以上是生活随笔為你收集整理的laravel php配置,PHP Laravel框架路由配置及设置技巧全解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 粉嫩久久99精品久久久久久夜 | 热久久久久久久 | www九九热 | 欧美老女人视频 | 日韩高清在线观看一区 | www裸玉足久久久 | 秋霞网一区二区三区 | 99热久久这里只有精品 | 免费成人高清视频 | 无码少妇一区二区三区芒果 | 欧美性一区二区三区 | 人妖av在线 | 欧美一级性| 极品色影视 | 农村妇女毛片精品久久久 | 午夜资源站| 淫羞阁av导航 | 男女高潮网站 | av鲁丝一区鲁丝二区鲁丝三区 | 红桃视频在线播放 | 亚洲精品一二三 | 三级全黄做爰龚玥菲在线 | 日本免费在线视频观看 | 国产一区二区播放 | xxx.国产| 美丽的小蜜桃2:美丽人生 | 亚洲成a人片77777kkkk | 日韩欧美亚洲在线 | 在线免费观看一区二区 | 久久久观看 | 国产精品人人妻人人爽人人牛 | 黄色无遮挡网站 | 天天精品 | 日韩三级视频在线观看 | 国产九一精品 | 浮力影院国产第一页 | 国产精品美女久久久久久久 | 非洲一级片 | 亚洲永久免费观看 | 男阳茎进女阳道视频大全 | 99久久99久久免费精品蜜臀 | 国产视频网 | 日韩精品在线观看免费 | 国产综合激情 | 日韩av毛片在线观看 | 一区二区三区福利视频 | 美女av网址 | 印度午夜性春猛xxx交 | 999这里只有精品 | 国产aaa视频| 美女的诞生免费观看在线高清 | 国产性猛交96 | 亚洲精品久久久蜜桃 | 国产成人自拍一区 | 国产精品揄拍一区二区 | 亚洲三级影视 | 天堂社区av | 久久福利国产 | 15p亚洲 | 国产夫妻自拍av | 女生被草 | 欧美不卡网 | 精品视频在线一区二区 | a级黄色录像 | 在线观看国产黄色 | 成人性生交大片免费看vrv66 | 夜夜撸小说 | 蜜桃99视频一区二区三区 | 亚洲小说在线 | 国产精品国产精品国产专区不片 | 久久艹免费视频 | 日韩精品一区二区三区在线播放 | 99免费视频 | 日本激情视频一区二区三区 | 精品人妻一区二区三区蜜桃 | 国产精品片 | 91豆花视频| 99re热视频| 我想看一级黄色片 | 奇米第四色777 | 免费人成又黄又爽又色 | 五十路在线 | 亚洲v国产 | 国产精品第四页 | 国内精品毛片 | 国产五月天婷婷 | 色久天堂 | 一起草最新网址 | 日本视频在线免费 | 少妇人妻偷人精品一区二区 | 午夜美女在线 | 国产综合内射日韩久 | 午夜精品久久久久久久99热浪潮 | 日本一区二区三区四区在线观看 | 中国a一片一级一片 | 国模福利视频 | 欧美11p| 人人爽人人干 | 成年人视频在线免费观看 |