MVCアーキテクチャ(Model View Controller)
ソフトウェア開発においてよく使用されるデザインパターンの一つ。特に、オブジェクト指向プログラミングの概念を利用し、アプリケーションの構造を3つの役割に分けることで、コードの管理を容易にする。
以下の3つの主要コンポーネントで構成されている。
ルーティング(Routing)
クライアント(フロントエンドなど)からのURLアクセスで、どのような処理を実行するか決めてくれる仕組み。特定のURLにアクセスされたときに、どのような処理をするのか定義する。HTTPリクエストのパスや内容に対応するコントローラに処理を渡す。
Laravelのすべてのルーティングは「/routes」ディレクトリにあるルートファイルで定義されている。ルートファイルは「App\Providers\RouteServiceProvider」によって、自動的に読み込まれ適用される。
マイグレーション(Migration)
データベースのバージョン管理のようなもの。開発中のデータベースの構造変更をコードベースで追跡し、異なる開発環境間でのデータベースの状態を一致させることができる。過去のある時点のデータベース構造に簡単に戻ることも可能なため、アプリケーションのバージョン管理が簡単になる。
make:migration Artisanコマンドを使用して、データベースマイグレーションを作成する。新しいマイグレーションは、database/migrationsディレクトリに配置される。
php artisan make:migration create_テーブル名_table
マイグレーションファイルは主に up() と down() の二つのメソッドを含んでいる。
public function up()
{
Schema::create('テーブル名', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
up() メソッド:テーブルの作成やカラムの追加など、データベースに対する変更を定義。
down() メソッド: up() メソッドで行った変更を元に戻すための処理を定義。
Artisanコマンドでマイグレーションを実行。これでテーブルの生成が完了する。
$ php artisan migrate
Eloquent ORM
Laravel で提供されているデータ操作の為の機能。
-
ORM(Object-Relational Mapping):オブジェクト指向プログラミング言語とリレーショナルデータベースの間のやり取りをまとめる技術。SQL文を書かなくても容易にデータを取り出せたり、加工できたりする。
-
Eloquent:Laravelで採用されているORM。アプリケーションからのデータベースに対する作成、読み取り、更新、および削除操作を高速化できる。Eloquent Collectionというヘルパー関数が使用できる。
-
Collection:Laravelで用意されている、手軽にデータ操作ができるように設計されたオブジェクト。
Blade テンプレートエンジン
-
テンプレートエンジン:HTMLの一部に変数や条件分岐、繰り返し等の各種処理を埋め込める仕組み。動的なコンテンツ生成に使用されるソフトウェアツールやフレームワーク。
-
Blade:Laravelのテンプレートエンジン。簡単な構文を使ってHTMLを生成する。複数のテンプレートを継承して再利用することができる。ファイル名は「任意の名前.blade.php」。
参照サイト:
MVCとは?MVCの基本をわかりやすく解説!MVC使用のメリットと有効な使い方もご紹介
MVC (Model-View-Controller)
MVC(Model-View-Controller)モデルアーキテクチャとは
【Laravel】 ルーティングとは?書き方などを初心者向けに徹底解説
【Laravelの機能についてまとめてみよう】~~~Routing編~~~
Laravel 8.x マイグレーション
【Laravel】マイグレーション完全ガイド|作成方法とコマンド総まとめ
【Laravel】マイグレーションの基本
LaravelのEloquentORMの基本から具体的な使い方(モデルを使ったDB操作)
Eloquent ORMを分かりやすく説明してみる
【6つの基礎】Laravel Eloquentの今さら聞けない大事な機能
Laravel・テンプレートエンジンとは
テンプレートエンジンとは?メリット・デメリットや事例、代表的な言語などをわかりやすく解説
PHPのLaravelとは?特徴や向いているプロジェクト、使い方を詳しく解説
