Laravel公式ドキュメントの「Routing」ページ(https://laravel.com/docs/8.x/routing)を解説します。

Routingは、Webアプリケーションにおいて、URLとアプリケーションの処理を結びつける仕組みです。Laravelでは、Routingを定義することで、URLに対してどのコントローラーのどのメソッドを呼び出すかを指定することができます。

Routingを定義する方法は、`routes/web.php`ファイルにルート定義を記述する方法と、`RouteServiceProvider`クラスにルート定義を記述する方法があります。`web.php`ファイルにルート定義を記述する場合は、`Route`ファサードを使用してルートを定義します。例えば、以下のように記述することで、`/hello`というURLにアクセスされた場合に、`HelloController`の`index`メソッドを呼び出すことができます。

```php

use App\Http\Controllers\HelloController;

Route::get('/hello', [HelloController::class, 'index']);

```

また、Laravelでは、RESTfulなAPIを実装するためのRoutingもサポートしています。例えば、以下のように記述することで、`/api/users`というURLに対して、`UserController`の`index`メソッドを呼び出すことができます。

```php

use App\Http\Controllers\UserController;

Route::get('/api/users', [UserController::class, 'index']);

```

Routingでは、HTTPメソッドによって、どのような処理を行うかを指定することができます。Laravelでは、`get`、`post`、`put`、`patch`、`delete`、`options`、`any`というHTTPメソッドに対応しています。

Routingには、パラメータを含めることもできます。例えば、以下のように記述することで、`/hello/{name}`というURLにアクセスされた場合に、`HelloController`の`greet`メソッドを呼び出すことができます。この場合、`{name}`というパラメータを定義しています。

```php

use App\Http\Controllers\HelloController;

Route::get('/hello/{name}', [HelloController::class, 'greet']);

```

Routingには、ミドルウェアを適用することもできます。ミドルウェアは、リクエストがコントローラーに渡る前に、リクエストを加工するための処理を行うことができます。例えば、以下のように記述することで、`/dashboard`というURLにアクセスされた場合に、`auth`ミドルウェアを適用して、認証されていない場合はログイン画面にリダイレクトすることができます。

```php

use App\Http\Controllers\DashboardController;

Route::get('/dashboard', [DashboardController::class, 'index'])->middleware('auth');

```

以上が、LaravelのRoutingについての簡単な解説です。Routingは、LaravelにおけるWebアプリケーションの基本的な仕組みの一つであり、Laravelを学ぶ上で重要な概念の一つです。

#laravel

Reply to this note

Please Login to reply.

Discussion

No replies yet.