“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
でできるコントローラはシンプルなロジックだけを作る時に適している。(らしい)
コメント