laravel如何获取路由参数
laravel获取路由参数的方法:1、按照URL中路由参数的先后顺序来获取;2、按照路由参数名称来获取;3、使用request()辅助函数来获取;4、使用Route Facade来获取。
laravel如何获取路由参数(Route Parameters)?下面本篇文章给大家介绍一下Laravel 获取路由参数的5种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
Laravel 获取 Route Parameters (路由参数) 的 5 种方法
Laravel 获取路由参数的方式有很多,并且有个小坑,汇总如下。
假设我们设置了一个路由参数:
/** * 定义路由参数名称分别为: param1,param2 */ Route::get('/{param1}/{param2}', 'TestController@index');
现在我们访问 http://test.dev/1/2
在 TestController 中:
/** * 路由参数获取方法 * * @param Illuminate\Http\Request $request 依赖注入 Request 实例,放在参数中什么位置都可以自动加载 * @param mixed $arg2 要获取的路由参数 * @param mixed $arg1 要获取的路由参数 */ public function index(Request $request, $arg2, $arg1) { /** * 方法一:按照 URL 中路由参数先后顺序来获取 * 注意:此种方式有个小坑,获取的值只与顺序有关,与名称无关 */ echo $arg2; //结果为 1 ,因为 $arg2 在第一位,获取的是第一个路由参数 param1 的值 echo $arg1; //结果为 2 ,因为 $arg1 在第二位,获取的是第二个路由参数 param2 的值 /** * 方法二:按照路由参数名称来获取 * 注意:此处名称是 Route 中定义的参数名,非上面方法中的参数名 */ $request->route('param1'); //结果为 1 ,获取的是第一个路由参数 $request->route('param2'); //结果为 2 ,获取的是第二个路由参数 /** * 方法三:使用 request() 辅助函数来获取,效果同方法二 */ request()->route('param1'); //结果为 1 ,如果不带路由参数名则返回当前的Route对象 request()->route('param2'); //结果为 2 ,如果不带路由参数名则返回当前的Route对象 /** * 方法四:使用 Route Facade */ \Route::input('param1'); //结果为 1 ,该方法必须带路由参数名 \Route::input('param2'); //结果为 2 ,该方法必须带路由参数名 /** * 方法五:使用 Illuminate\Http\Request 实例动态属性 */ $request->param1; //结果为 1 ,Laravel 5.4+ 可用 $request->param2; //结果为 2 ,Laravel 5.4+ 可用 // 或者 request()->param1; //结果为 1 ,Laravel 5.4+ 可用 request()->param2; //结果为 2 ,Laravel 5.4+ 可用 //或者 request('param1'); //结果为 1 ,Laravel 5.4+ 可用 request('param2'); //结果为 2 ,Laravel 5.4+ 可用 /** * 注意:Laravel 在处理动态属性的优先级是,先从请求的数据(POST/GET)中查找,没有的话再到路由参数中找。 * 例如:URL : http://test.dev/1/2?param1=a¶m2=b * $request->param1; request()->param1; request('param1'); //结果为 a * $request->param2; request()->param2; request('param2'); //结果为 b */ }
更多相关知识,请访问 PHP中文网!!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP と Flutter は、モバイル開発でよく使われるテクノロジです。 Flutter は、クロスプラットフォーム機能、パフォーマンス、ユーザー インターフェイスに優れており、高パフォーマンス、クロスプラットフォーム、カスタマイズされた UI を必要とするアプリケーションに適しています。 PHP は、クロスプラットフォームではなく、パフォーマンスが低いサーバー側アプリケーションに適しています。

PHP でのデータベース操作は、オブジェクトをリレーショナル データベースにマップする ORM を使用して簡素化されます。 Laravel の EloquentORM を使用すると、オブジェクト指向構文を使用してデータベースと対話できます。モデル クラスを定義したり、Eloquent メソッドを使用したり、実際にブログ システムを構築したりすることで ORM を使用できます。

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

PHP 単体テスト ツール分析: PHPUnit: 大規模プロジェクトに適しており、包括的な機能を提供し、インストールが簡単ですが、冗長で遅い場合があります。 PHPUnitWrapper: 小規模プロジェクトに適しており、使いやすく、Lumen/Laravel に最適化されていますが、機能が限られており、コード カバレッジ分析は提供されず、コミュニティ サポートも限られています。

Laravel 9 と CodeIgniter 4 の最新バージョンでは、更新された機能と改善が提供されます。 Laravel9はMVCアーキテクチャを採用しており、データベース移行、認証、テンプレートエンジンなどの機能を提供します。 CodeIgniter4 は、HMVC アーキテクチャを使用してルーティング、ORM、およびキャッシュを提供します。パフォーマンスの面では、Laravel9 のサービスプロバイダーベースの設計パターンと CodeIgniter4 の軽量フレームワークにより、優れたパフォーマンスが得られます。実際のアプリケーションでは、Laravel9 は柔軟性と強力な機能を必要とする複雑なプロジェクトに適しており、CodeIgniter4 は迅速な開発や小規模なアプリケーションに適しています。

Laravel と CodeIgniter のデータ処理機能を比較します。 ORM: Laravel はクラスとオブジェクトのリレーショナル マッピングを提供する EloquentORM を使用しますが、CodeIgniter は ActiveRecord を使用してデータベース モデルを PHP クラスのサブクラスとして表します。クエリビルダー: Laravel には柔軟なチェーンクエリ API がありますが、CodeIgniter のクエリビルダーはよりシンプルで配列ベースです。データ検証: Laravel はカスタム検証ルールをサポートする Validator クラスを提供しますが、CodeIgniter には組み込みの検証関数が少なく、カスタム ルールの手動コーディングが必要です。実践例:ユーザー登録例はLarを示しています

PHP 単体テストおよび統合テスト ガイド 単体テスト: コードまたは関数の単一単位に焦点を当て、PHPUnit を使用して検証用のテスト ケース クラスを作成します。統合テスト: 複数のコードユニットがどのように連携するかに注意し、PHPUnit の setUp() メソッドと TearDown() メソッドを使用してテスト環境をセットアップおよびクリーンアップします。実際のケース: PHPUnit を使用して、データベースの作成、サーバーの起動、テストコードの作成など、Laravel アプリケーションの単体テストと統合テストを実行します。

大規模プロジェクト用のフレームワークを選択する場合、Laravel と CodeIgniter にはそれぞれ独自の利点があります。 Laravel はエンタープライズレベルのアプリケーション向けに設計されており、モジュール設計、依存関係の注入、強力な機能セットを提供します。 CodeIgniter は、速度と使いやすさを重視した、小規模から中規模のプロジェクトに適した軽量フレームワークです。複雑な要件と多数のユーザーを伴う大規模なプロジェクトには、Laravel のパワーとスケーラビリティがより適しています。単純なプロジェクトやリソースが限られている状況では、CodeIgniter の軽量で迅速な開発機能がより理想的です。
