プログラミング初心者でもできる laravel で hello world 画面に表示させるまでの道のり


前提

  • Macbookでの操作になります。
  • ターミナルがなんなのかがわかるくらいのレベルの人向けの記事です。
  • laravelが使える段階まで環境構築を済ませていること。
  • php, homebrew, compser をインストールし終わって環境構築を完了している人
  • ここでは初心者向けに難しい単語などをイメージができるような説明をするため
    実際の意味とは異なる説明をするかもしれません。上級者の方は見て見ぬ振りでお願いします。

プロジェクトの作成

いきなり専門用語でてきますね。
プロジェクトの意味をなんとなくイメージできるように一つ例えをしましょう。

あなたはパキラの種を持っていました。
家の中でパキラを咲かせたいです。
まずやらなければいけないのは器を用意することです。
器がないと何も始まりません。
器があって初めて土を入れられます。

プロジェクトはその器だとお考えください。
そしてhello worldを表示させることはパキラ育てること(目的)だと思ってください。

チューリップを育てたい(hello meの表示をしたい)って思った場合でも
やはりまずは器(プロジェクト)がないと何も始まりません。
まずは器(プロジェクト)を手に入れましょう。

これでだいたいイメージはつきましたでしょうか?

では器を手に入れる(プロジェクトを作成する)にはターミナルで下記のコマンドをコピペしましょう。
※現在いるディレクトリにプロジェクトが作成されるため、プロジェクトをおきたい場所に移動してから
下記のコマンドをいれましょう。

composer create-project laravel/laravel pakira

pakiraはプロジェクト(器)の名前です。
pakiraの部分は何をつけても構いません。練習の時は。

動作確認

※ここからは器の話は忘れてくださいね?頭を切り替えていきましょう。

作ったプロジェクトにディレクトリを移動し下記のコマンドを実行する

php artisan serve

Starting Laravel development server: http://127.0.0.1:8000 みたいな結果が出てくるので
そのurlをchromeのurl欄にコピペする
おそらくほとんどの人は http://127.0.0.1:8000 になってるはず。
止める時は キーボードの control + c

自分はlaravelのバージョンが8.29.0なのでこう言う画面になってますがバージョンによって表示される内容がちょっと変わったりするそうです。
エラーとかでなければ成功です!

APP_KEYの生成

これも専門的な言葉が出てきますね。とりあえず、laravel取り入れたらこれをやるものなんだって覚えましょう
(他の人laravelをcloneしてきた時も同じ。これを行ってください)
これがないとうまく使えない機能とかあります。そのうち、あれ?なんで動かないんだ?って
一日中原因調査する羽目になったりするかもしれないので。

php artisan key:generate

これをやると .env っていうファイルの中の APP_KEY= っていうところに英数字が追加されてます。
追加されてたら成功!

heroku使う予定がある方

heroku というサービスを使う予定であれば
heroku側でもこのkeyの設定がないとうまく動かないので
※heroku使わない方はここはスキップしてください。

heroku config:set APP_KEY=$(php artisan --no-ansi key:generate --show)

heroku関連の設定したほうがいいもの

エラーがweb画面で見れるようにする

config/app.php の 'debug' => (bool) env('APP_DEBUG', false), って書いてあるところ
こいつをfalseじゃなくてtrueにすると見れるようになるはず。
42行目あたりにこの記述があると思いますが
なかったらバージョンが変わったことによっての影響なので別途必要に応じて調べれください

config/app.php
'debug' => (bool) env('APP_DEBUG', true),

Procfileを作成

これも
手動でもできますしコマンドでもできます。
ここではコマンドを使って作成する方法を紹介します。
やりたいことはアプリフォルダ直下にProcfileって言う名前のファイルを作ってコピペするだけです。

touch Procfile
echo 'web: vendor/bin/heroku-php-apache2 public/' > Procfile