1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravelでルーティング(web.php, コントローラー)の使い方

Posted at

web.phpに最初から入っているコードを使って解説

初めてlaravelのプロジェクトファイルを作って、laravel/uiをインストールすると、web.phpの最終行に以下の記述がある

web.php
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
  • /home: ドメインの後に入るファイルパスを指定
  • App\Http\Controllers\HomeController::class: HomeControllerのclassメソッドを参照
  • ->name('home');: ルーティング名

web.phpに新しいルートを作ってみる

web.phpの最終行に先ほどのコードを複製して、ファイルパスの部分と、ルーティング名を変更する(ややこしくなるので名称は同じにしてOK)

web.php
Route::get('/任意の名前', [App\Http\Controllers\HomeController::class, 'index'])->name('任意の名前');

コントローラーに追加

app/Http/HomeController.phpを開く。
すると、さっきのHomeControllerクラスを継承したControllerが入っている。

24行目〜27行目あたりにある以下の記述を見る。
以下の記述の部分で、indexに来たら(この関数が呼ばれたら)、コントローラーはviews/home.blade.phpを返す、と書いてある。

HomeController.php
public function index()
    {
        return view('home');
    }

これをもとに新しいルートを作りたいので、下の行に複製する。

複製できたら、さきほどweb.phpで書き込んだ任意の名前を入力

HomeController.php
public function 任意の名前()
    {
        return view('任意の名前');
    }

すると、任意の名前に来たら(この関数が呼ばれたら)、コントローラーはviews/任意の名前.blade.phpを表示させる、という記述が完成する。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?