Laravel、プロジェクトを作成して最初にやること


今回は私がプロジェクト作成して最初に行うことをメモ程度にまとめました。
かなり説明は省いています。すいません

開発環境

・Mac
・php 7.4.6
・Laravel 7.15.0
・MySQL

プロジェクトの作成と.envファイルの編集

1. laravel new プロジェクト名
2. config/app.phpのtimezonelocaleの変更

config/app.php
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',

データベースに関する設定

(1) .envファイルのデータベースの設定

.env
DB_CONNECTION=mysql
DB_HOST=
DB_DATABASE=データベース名
DB_USERNAME=
DB_PASSWORD=
DB_SOCKET=

(2) マイグレーションファイルの設定

まず、マイグレーションを行う意味を知りましょう!
マイグレーションは、環境が変わった時などにデータベースを一から作るのは大変だからチャチャっと作って!という時の為にあります。
ローカル環境から本番環境に移行することを考えましょう。マイグレーションを使えば、本番環境でローカル環境と同じデータベースをコマンド一発で作成してくれます。まずはマイグレーションファイルを作っていきましょう!

以下のコマンドでファイルが作成されます。
$php artisan make:migration create_posts_table --create=posts

作成日時_create_posts_table.php
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

このファイルの中にpostsテーブルの記述をしていきましょう。マイグレーションファイルが書き終わったら、以下のコマンドでmigrateしましょう。

$php artisan migrate

※ テーブルを加えたり、データベースに変更を加えた場合は以下のコマンドで更新出来ます。

$php artisan migrate:refresh

このコマンドによってデータベースにテーブルが作成されます。

(3)モデルの設定

モデルを作成する意味は、モデルクラスを使うことでデータベースにデータを挿入したり、削除することができるようにする為です。
以下のコマンドでファイルを作成出来ます。

モデルの名前は、テーブルの名前がpostsだったらPost.phpになる。どういうことかというと、テーブルの名前の単数形の名前をモデルにつけると、自動的にそのモデルはそのテーブルと紐づけられる。

以下のコマンドでモデルのファイルを作成しましょう!

$php artisan make:model Post

ファイルに記述する内容は、今回は割愛します。

(4)シーディング

シーディングは、サンプルデータをコマンド一発で作成するためのものです。
以下のコマンドで、ファイルを作成しましょう。

$php artisan make:seeder PostsTableSeeder

ファイルの中身を記入したら、DatabaseSeeder.phpにPostsTableSeeder.phpを登録します。

DatabaseSeeder.php
<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    public function run()
    {
        $this->call(PostsTableSeeder::class);
    }
}

これで、一通り最初にやることは完了です!

seederの書き方については以下の記事にまとめているので参照してください。

Laravel、シーディングの設定方法(基礎)

まとめ

今回は、私がプロジェクトを作成してから最初に行うことをまとめて見ました。
間違いありましたら、指摘をお願いします!