[Laravel挑戦] LaravelはMVCフレームワーク

起業準備

“artisan”の謎

何も考えないで、php artisan … のようなコマンドを何度も打ってきた。

アルチザン、と読むそうだけど、まったくもって耳慣れない言葉が気になる。

先生に聞いてみたら、以下の答えだった。

“artisan” という単語は 「職人」 を意味し、Laravel の開発をサポートする「職人ツール」という意味合いがある。

ほう。

migrate なんかも含めて、単なるCLI(CommandLineInterface)であって、Laravelのパッケージ内にある各種処理コマンドが起動されるという仕組みだ。

Laravelを習得する、ということはこのCLIコマンドを習得することなのだろう、と少し先が見えたような気がする。

LaravelはMVC フレームワーク

Model/View/Controllerフレームワーク。MVCというらしい。

言葉としては何度も聞いたことがあるけど、実は実作業で使ったことはない。

LaravelではMVCでもって開発を進めていくのだろう。

モデル(M)を作成

php artisan make:model TodoList -mc

とすると、Controllers以下に TodoListController.phpが、Models以下にTodoList.phpが、migrations以下にマイグレーションファイルと呼ばれる_create_todo_lists_table.phpが作成された。

マイグレーションファイルの中身は以下のとおり。

<?php

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

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('todo_lists', function (Blueprint $table) {
            $table->id();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('todo_lists');
    }
};

PHP で Schema(スキーマ)という言葉は データベースの構造(定義)を管理する仕組みを指し、LaravelではSchema は データベースのテーブルやカラムを作成・変更・削除 するために使われるらしい。

Laravel の Schema は 「データベースマイグレーション」 という仕組みの中で、 データベースの構造(スキーマ)をプログラムで変更できるものらしい。

チュートリアルブログの指示通りに、”name”という項目をした。(チュートリアルではup()メソッドにプログラムで追加したが、私は手でテーブル修正して追加した。あまり意味はない。)

長くなったので、今回はここまで。次回はモデル作成のつづきから。

後日談

MVCでそれぞれの処理を追加するはずなのに、なぜ make:model TodoList -mc なんだろう、と不思議に思っていた。

make:controller、meke:migration

とすべきではないか。

チュートリアルブログに説明はないけど、この make:model しての -mc は、マイグレーションとコントローラを同時に作成するだけではなく、「リソース」コントローラになるらしい。

リソースコントローラとは、CRUD処理(一覧、追加、編集、削除)をする時に便利なコントローラなので、今回のサンプルプロジェクトには適している。

make:controller

でできるコントローラはシンプルなロジックだけを作る時に適している。(らしい)

コメント

PHP Code Snippets Powered By : XYZScripts.com
タイトルとURLをコピーしました