0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Laravel】用語説明

0
Posted at

MVCアーキテクチャ(Model View Controller)

ソフトウェア開発においてよく使用されるデザインパターンの一つ。特に、オブジェクト指向プログラミングの概念を利用し、アプリケーションの構造を3つの役割に分けることで、コードの管理を容易にする。

以下の3つの主要コンポーネントで構成されている。

Model

ソフトウェア開発のデータやロジックを担う部分。データベース。
ユーザーの入力や操作によって変更されるデータを表し、データの保存や取得の役割を持つ。

View

ユーザーに表示される部分。HTMLであることが多い。
Modelのデータを受け取り、ユーザーに見せるための形式に整える。

Controller

ModelとViewの橋渡しを担う機能。
ユーザーの入力を受け取り、それに応じた処理を行う。

ルーティング(Routing)

クライアント(フロントエンドなど)からのURLアクセスで、どのような処理を実行するか決めてくれる仕組み。特定のURLにアクセスされたときに、どのような処理をするのか定義する。HTTPリクエストのパスや内容に対応するコントローラに処理を渡す。


  • ルーティングの書き方

Laravelのすべてのルーティングは「/routes」ディレクトリにあるルートファイルで定義されている。ルートファイルは「App\Providers\RouteServiceProvider」によって、自動的に読み込まれ適用される。

image.png

マイグレーション(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とは?特徴や向いているプロジェクト、使い方を詳しく解説

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?