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 3 years have passed since last update.

PHP 、Laravel 学習 ルーティングの設定

Posted at

#Laravelのダウンロード
これはあまり苦労せず終わったので、簡単に書いていきます。
とりあえず、LaravelをダウンロードするためにComposerと言うパッケージのダウンロードが必要になりますがそちらもあまり苦労ないと思うので順番さえ間違えなければすんなりいくと思います。

Composerってなんですか?」等、詳しく知りたい方はぐぐるとたくさん情報が出てきますのでググってみてください

#ルーティングの設定

Laravelがインストールし終わったら早速最初の工程としてルーティングを設定していきます。
「リクエストが送られてきたら任意のレスポンスをする」という物です
自分だけ理解している記事は書きたくないので、噛み砕いて説明したいと思います。
普段ホームページを見ている時、何気なく操作しているところの一部です。
例えば、あるサイトを回遊している時「Aのページを見たいからAのページへ飛ぶためボタンをクリックして、Bのページへ飛ぶ」という操作をしたとします。何気なくやっているいつもの操作だと思いますが、この時の
●「Aのページへ飛びたい」というユーザーの要望をリクエストと言い

●「Bのページを表示する」というサイト側の設定をレスポンスと言う

そしてこの「このリクエストが来たら、このレスポンスをすると言うのを決める設定」のことをルーティングと言います。

はじめにテストとして、「/hello」と言うリクエストが送られてきたら
「Hello World!」と言う言葉をブラウザに表示すると言うレスポンスを返してみます。ダウンロードしたLaravelファイルの中に「routes」と言うフォルダーがあるのでその中の「web.php」ファイルの一番下に

Route::get('/hello', 'HomeController@home');

と言うコードを書いてみました。

このコードを詳しく解説すると「/helloと言うリクエストが来たらHomeControllerのhomeアクションが呼ばれ、然るべきレスポンスをする」
というコードです。
コントローラーとアクションも出てきましたが、説明が長くなるので次回以降に詳しく解説します。
しかし、ここで問題発生
ブラウザをのURLを**http://127.0.0.1:8000/hello**にして接続してみるとつながらず・・・「ホームコントローラーは存在しませんよ」と言うエラーが出てしまいました。
このエラーを解決するのにかなり時間がかかってしまったのですが、原因は

①Laravelのバージョンアップでルーティングの表記の仕方が変わってしまった
②ルートの表記が間違えていた。

の2点でした。

①の原因の解説としては、参考にした記事がLaravel7と言うバージョンだったのに対し、私がインストールしたのはLaravel8でした。

②の原因、ルートの表記が間違えていたと言うところですが「web.php」と言うファイル(ルーティングを実際に書いて設定するファイル)の中にどのような階層を踏んでルーティングするかを書くところがあるのですがこちらが間違えていました。
正しいソースコードを以下に載せておきます。

①↓

Route::get('/hello', [HomeController::class, 'home']);

②↓

use App\Http\Controllers\HomeController;

#次回以降の予定
Controllerの詳しい説明と設定
viewの詳しい説明と設定
viewを簡単にスタイリングできるBootstrapの説明
こちらを念頭に置いて更新していきたいと思います。

1
0
0

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?