laravelルーティングは何をするのでしょうか?
laravel では、ルーティングの役割は、ユーザーのさまざまな URL リクエストを対応するプログラムに転送して処理することです; ルーティングは、外部の世界が laravel アプリケーションにアクセスする方法であり、ルーティングは、Laravel アプリケーションがどのようにサービスを提供するかを定義します。具体的には、laravelのルーティングはroutesフォルダに定義されています。
#この記事の動作環境: Windows 10 システム、Laravel バージョン 6、Dell G3 コンピューター。
laravel ルーティングの役割とは何ですか?
ルーティングの役割は、ユーザーのさまざまな URL リクエストを、処理のために対応するプログラムに転送することです。Laravel のルーティングは、routes フォルダーに定義されており、4 つのルーティング ファイル。web.php ファイルで基本的なページ リクエストが定義されます。
laravel では、ルーティングは外部の世界が Laravel アプリケーションにアクセスするための方法、またはルーティングは Laravel アプリケーションが外部の世界にサービスを提供する特定の方法を定義します。ルーティングは、事前に計画された計画に従って、ユーザーのリクエストを指定されたコントローラーおよびメソッドに送信して処理します。
基本的なルーティング
最も基本的なルーティング リクエストは get リクエストと post リクエストで、Laravel は Route オブジェクトを通じてさまざまなリクエスト メソッドを定義します。たとえば、URL 'req' で get リクエストを定義し、文字列 'get response' を返します。
Route::get('req',function (){undefined return 'get response'; });
get メソッドで http://localhost/Laravel/laravel52/public/req をリクエストすると、戻り値が返されます。次のように:
同様に、投稿リクエストを定義するときは、Route::post(url,function(){});
を使用します。複数のリクエストのルーティング
複数のリクエスト メソッドに同じ処理を使用する場合は、match または any を使用できます。
match を使用して、対応するリクエスト メソッドと一致させます。たとえば、次のようになります。 get または when post リクエスト req2 を使用すると、一致する応答が返されます:
Route::match(['get','post'],'req2',function (){undefined return 'match response'; });
any は、任意のリクエスト メソッドに一致します。たとえば、req3 がいずれかのメソッドでリクエストされた場合、任意の応答が返されます:
Route::any('req3',function (){undefined return 'any response'; });
リクエスト パラメータ
必須パラメータ: パラメータを含むリクエストを送信する場合、ルート内で受信できます。パラメータを囲み、/ で区切るには中括弧を使用します。たとえば、 :
Route::get('req4/{name}/{age}', function ($name, $age) {undefined return "I'm {$name},{$age} years old."; });
With get リクエスト時にパラメータを渡すと、結果は次のようになります:
オプションのパラメータ: 上記のパラメータは必須です。が欠落している場合、エラーが報告されます。パラメータをオプションにしたい場合は、それに ? を追加してデフォルト値を設定できます。デフォルト パラメータは最後のパラメータである必要があります。それ以外の場合は、パラメータを配置しても認識されません中央:
Route::get('req4/{name}/{age?}', function ($name, $age=0) {undefined return "I'm {$name},{$age} years old."; });
定期的な検証: リクエスト内のパラメーターを確認する場所を使用できます。 Verify
Route::get('req4/{name}/{age?}', function ($name, $age=0) {undefined return "I'm {$name},{$age} years old."; })->where(['name'=>'[A-Za-z]+','age'=>'[0-9]+']);
ルーティング グループ
場合によってはルートたとえば、第 1 レベルのルート ホームを定義し、その下に第 2 レベルのルート記事を定義するなど、複数のレベルを持つことができます。これには、記事とコメントをホーム グループに配置する必要があります。配列キー プレフィックス
Route::group(['prefix' => 'home'], function () {undefined Route::get('article', function () {undefined return 'home/article'; }); });
を使用してプレフィックス home をルート アーティクルに追加し、home/article を通じてルートにアクセスできるようにします。
ルートの名前付け
ルートに名前を付ける必要がある場合は、ルートを定義するときに as 配列キーを使用してルート名を指定する必要があります。たとえば、ルートに home/comment comment という名前を付けた場合、URL とリダイレクトを生成するときにルート名のコメントを使用できます。
Route::get('home/comment',['as'=>'comment',function(){undefined return route('comment'); //通过route函数生成comment对应的url }]);
出力は http://localhost/Laravel/laravel52/public/home/ となります。コメント
【関連する推奨事項: laravel ビデオチュートリアル】
以上がlaravelルーティングは何をするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









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を示しています

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

初心者にとって、CodeIgniter は学習曲線が緩やかで機能は少ないですが、基本的なニーズはカバーしています。 Laravel は幅広い機能セットを提供しますが、学習曲線はわずかに急になります。パフォーマンスの点では、Laravel と CodeIgniter はどちらも良好なパフォーマンスを示します。 Laravel にはより広範なドキュメントとアクティブなコミュニティ サポートがあり、CodeIgniter はよりシンプルで軽量で、強力なセキュリティ機能を備えています。ブログアプリケーションを構築する実際のケースでは、Laravel の EloquentORM を使用するとデータ操作が簡素化されますが、CodeIgniter ではより手動の構成が必要になります。

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

マイクロサービス アーキテクチャは、PHP フレームワーク (Symfony や Laravel など) を使用してマイクロサービスを実装し、RESTful 原則と標準データ形式に従って API を設計します。マイクロサービスはメッセージ キュー、HTTP リクエスト、または gRPC を介して通信し、監視とトラブルシューティングに Prometheus や ELKStack などのツールを使用します。

小規模なプロジェクトの場合、Laravel は強力な機能とセキュリティを必要とする大規模なプロジェクトに適しています。 CodeIgniter は、軽量さと使いやすさを必要とする非常に小規模なプロジェクトに適しています。

Laravel の Blade と CodeIgniter の Twig テンプレート エンジンを比較し、プロジェクトのニーズと個人的な好みに基づいて選択してください。Blade は MVC 構文に基づいており、適切なコード編成とテンプレートの継承を促進します。 Twig は、柔軟な構文、強力なフィルター、拡張サポート、セキュリティ サンドボックスを提供するサードパーティ ライブラリです。
