Laravel は、シンプルで洗練された構文と強力なツールを使用することで、Web 開発をより簡単かつ迅速にする人気の PHP フレームワークです。 Laravel では、ルーティングは、HTTP リクエストがアプリケーション内のコードにどのようにマップされるかを決定する重要な部分です。
Laravel では、ルーティングは HTTP 動詞 (GET、POST、PUT など) と URI パスで構成されます。ルート宣言では、HTTP 動詞と、リクエストを処理するコントローラー メソッドを指す URI パスの間に矢印があります。
Laravel におけるコントローラーのメソッドとルーティングは密接に関係しています。ルートのコントローラーメソッド名とURIパスに定義されている部分の名前は同じである必要があります。したがって、ルートを宣言するときに、コントローラー メソッドを各 URI パスにバインドできます。こうすることで、特定の URI パスが要求されるたびにコントローラー メソッドが呼び出されます。
コントローラーのメソッド名はLaravelのルート名と同じです。これは、Laravel ルーティングが PHP のリフレクション機能を使用してルートパラメーターを解析するためです。したがって、ルート名はコントローラーのメソッド名と正確に一致する必要があります。一致しない場合、Laravel はメソッドを見つけることができません。
たとえば、PostController というコントローラーがあり、このコントローラーには store というメソッドがあります。このメソッドへの POST リクエストを介してフォームを送信したいと考えています。 Routes/web.php に次のルートを追加できます:
Route::post('/post', 'PostController@store');
この例では、ルート URI は「/post」、HTTP 動詞は POST です。store という名前のコントローラーを見つけることができます。 PostController メソッドを使用してリクエストを処理します。 URL の生成には「post.store」という名前のルートを使用できます。
Laravel は、URL 処理を簡素化するために他の多くのルーティング メソッドも提供します。ハードコードされた URL を使用する代わりに、route メソッドを使用して URL を生成できます。ミドルウェアを使用してルートを保護することもできます。たとえば、コントローラー メソッドを実行する前に、ユーザーが正しい権限を持っているかどうかを確認できます。
Laravel は、HTTP の GET、POST、PUT、PATCH、DELETE 動詞にそれぞれ対応する、get、post、put、patch、delete などのいくつかの事前定義されたルーティング メソッドも提供します。これらのメソッドには 2 つのパラメータが必要です。最初のパラメータは要求された URI パスで、2 番目のパラメータはコントローラ メソッド名です。
ルーティング メソッドを呼び出すときに、ルートを識別するための名前を指定することもできます。これは、URL の実際のパスを気にすることなく、アプリケーション内で一意の URL を生成できるため、非常に便利です。たとえば、routes/web.php で次のルーティング メソッドを定義します:
Route::get('/post/{id}', 'PostController@show')->name('post.show');
この例では、「post.show」というルート名を定義します。このルーティング メソッドは GET 動詞、URI パスを使用します。 /post/{id}" と指定すると、PostController の show メソッドが呼び出されます。また、URI パスに「id」というパラメーターを定義していることにも注目してください。これはコントローラー メソッドでアクセスできます。
つまり、Laravel ではメソッド名とルートは相互に関連しており、それらが一緒になってアプリケーションの基本アーキテクチャを形成します。したがって、Laravelアプリケーションを開発する場合、開発者は優れたアプリケーションを設計するためにルーティングとメソッド名を深く理解する必要があります。
以上がlaravelのコントローラーメソッドとルーティングについての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。