国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

如何在Laravel中驗(yàn)證路由參數(shù)?

PHPz
發(fā)布: 2023-09-01 14:41:06
轉(zhuǎn)載
826人瀏覽過(guò)

如何在laravel中驗(yàn)證路由參數(shù)?

在 Laravel 中,路由在 paths/ 文件夾中定義。路由在 web.php 文件中定義。該文件是在 laravel 安裝完成后創(chuàng)建的。 Laravel 路由接受 URI 和閉包函數(shù),如下所示 -

use Illuminate\Support\Facades\Route;
Route::get('/student', function () {
   return 'Hello Student';
});
登錄后復(fù)制

在web/routes.php中定義的路由被分配到web中間件組中,并且它們 具有會(huì)話狀態(tài)和CSRF保護(hù)。您還可以在路由中調(diào)用控制器 如下所示 -

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\StudentController;
Route::get('student', [StudentController::class, 'index']);
登錄后復(fù)制

以下是您可以在應(yīng)用程序中使用的路由方法:

  • Route::get($ uri, $回調(diào)函數(shù)或控制器);

  • Route::post($uri, $回調(diào)函數(shù)或控制器);

  • Route::put($uri, $回調(diào)函數(shù)或控制器);

  • Route::patch($uri, $回調(diào)函數(shù)或控制器);

  • Route::delete($uri, $回調(diào)函數(shù)或控制器);

  • Route::options($uri, $回調(diào)函數(shù)或控制器);

路由參數(shù)驗(yàn)證

路線參數(shù)位于大括號(hào)內(nèi),并且給出的名稱包含字母數(shù)字字符。除了字母數(shù)字之外,您在選擇路由參數(shù)名稱時(shí)還可以使用下劃線。

語(yǔ)法

路由參數(shù)的語(yǔ)法如下所示?

Route::get('/user/{myid}', function ($myid) {
   //
});
登錄后復(fù)制

這里myid是我們要進(jìn)一步使用的路由參數(shù)。

多個(gè)路由參數(shù)

您可以像下面的語(yǔ)法所示,擁有多個(gè)路由參數(shù)。

Route::get('/students/{post}/feedbacks/{feedback}', function ($postId, $feedbackId) {
   //
});
登錄后復(fù)制

在上述情況下,有兩個(gè)路由參數(shù):{post}和{feedback}

可選參數(shù)

您還可以為路由添加可選參數(shù)??蛇x參數(shù)并不總是可用,參數(shù)后面用?表示。可選參數(shù)的語(yǔ)法如下所示 ?

Route::get('/students/{myname?}', function ($myname = null) {
   return $myname;
});
登錄后復(fù)制

這里 myname 是一個(gè)可選參數(shù)。

Laravel有一些方法可以幫助驗(yàn)證參數(shù)。它們是where(),whereNumber(),whereAlpha()和whereAlphaNumeric()。

Example 1

的中文翻譯為:

示例1

使用where()方法

where()方法在路由上定義,它將接受參數(shù)名稱和應(yīng)用于參數(shù)的驗(yàn)證。如果有多個(gè)參數(shù),它將以數(shù)組形式接受,其中鍵為參數(shù)名稱,值為要應(yīng)用于鍵的驗(yàn)證規(guī)則。

Route::get('/student/{studentname}', function ($studentname) {
   return $studentname;
})->where('studentname', '[A-Za-z]+');
登錄后復(fù)制

輸出

輸出為 ?

disha
登錄后復(fù)制

在上述情況下,學(xué)生姓名必須包含 A-Z 或 a-z 或兩者的混合。因此以下是有效的網(wǎng)址 -

http://localhost:8000/student/DISHA
http://localhost:8000/student/dishaSingh.
登錄后復(fù)制

無(wú)效網(wǎng)址 -

http://localhost:8000/student/dishaSingh123
登錄后復(fù)制

示例 2

現(xiàn)在讓我們使用 where() 方法檢查多個(gè)參數(shù)。

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname){
   return $studentid."===".$studentname;
})->where(['studentid' => '[0-9]+', 'studentname' => '[a-z]+']);
登錄后復(fù)制
在上述情況中,路由參數(shù)是studentid和studentname。studentid必須 是 0-9 之間的數(shù)字,學(xué)生姓名必須小寫。 需要翻譯的內(nèi)容為:必須是0-9之間的數(shù)字,并且studentname必須為小寫

輸出

上述的輸出為?

12===disha
登錄后復(fù)制
登錄后復(fù)制

上述的有效網(wǎng)址為?

http://localhost:8000/student/12/disha
http://localhost:8000/student/01/disha
登錄后復(fù)制

無(wú)效網(wǎng)址 -

http://localhost:8000/student/01/DISHA
http://localhost:8000/student/abcd/disha
登錄后復(fù)制

使用 whereNumber()

示例

您需要傳遞您希望僅為有效值的路由參數(shù) -

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->where('studentname','[a-z]+');
登錄后復(fù)制

輸出

上述代碼的輸出為 ?

12===disha
登錄后復(fù)制
登錄后復(fù)制

使用 whereAlpha()

示例

您需要傳遞您希望具有 alpha 值的路由參數(shù) -

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->whereAlpha('studentname');
登錄后復(fù)制

輸出

上述代碼的輸出為 ?

12===dishaSingh
登錄后復(fù)制

使用 whereAlphaNumeric()

示例

您需要傳遞您希望具有字母數(shù)字值的路由參數(shù)?

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->whereAlphaNumeric ('studentname');
登錄后復(fù)制

輸出

輸出將是 -

12===dishaSingh122
登錄后復(fù)制

以上就是如何在Laravel中驗(yàn)證路由參數(shù)?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

路由優(yōu)化大師
路由優(yōu)化大師

路由優(yōu)化大師是一款及簡(jiǎn)單的路由器設(shè)置管理軟件,其主要功能是一鍵設(shè)置優(yōu)化路由、屏廣告、防蹭網(wǎng)、路由器全面檢測(cè)及高級(jí)設(shè)置等,有需要的小伙伴快來(lái)保存下載體驗(yàn)吧!

下載
來(lái)源:tutorialspoint網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問(wèn)題
開源免費(fèi)商場(chǎng)系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)