はじめに
PHP/Laravelに関する基本的な用語を簡単にまとめました。
特に初学者の場合、用語の意味や意図が分かっていないまま学習をしていると「今何をしてるんだ?」となりがちなので、迷子にならない為にも用語の意味を知っておくことが重要だと思い記事にしました。
私自身、勉強中の身ですので間違っている箇所などありましたら、ご指摘いただけると幸いです。
随時更新予定です。
MVCフレームワーク
Model(モデル)、View(ビュー)、Controller(コントローラー)の各機能に分けて整理し、これらのパーツを作ることで開発を行う。
Routing(ルーティング)
アクセスを設定している情報(ルート)を管理する機能。
特定のアドレスにアクセスした時、どの処理を呼び出して実行するかを管理するもの。
「〇〇というアドレスにアクセスしたら、××という処理を呼び出す」という関連付けを行なっている。
Model(モデル)
データ処理全般を担当。データベースアクセスに関する処理全般を扱う。
View(ビュー)
画面表示を担当。
Controllerの指示によって アクセスしてきたユーザーのブラウザに表示するデータを生成する。(HTMLファイルを出力するところのようなイメージ)
Controller(コントローラー)
全体の制御を担当。
必要に応じてModelからデータを取得したり、Viewを利用して画面表示を作成したりする。
Blade
シンプルにHTMLファイルを書くように書くことのできるテンプレートエンジン。
通常のPHPスクリプトファイルを記述するより効率的に作ることができる。
テンプレートを継承し新たなテンプレートを定義したり、レイアウトの一部をセクションとしてはめ込むことができる。
パス(path:通り道)
ファイルやフォルダの場所。
(ファイル名を含む場合と含まない場合がある。)
Migration(マイグレーション)
データベースのバージョン管理機能。
データベースのテーブルを作成・削除等する機能も持つ。
Validation(バリデーション)
Modelでデータを保存する前に、フォームからデータを送信されてきた値が正しい形式で書かれているかどうか、データの不備をあらかじめ防ぐために検証する仕組み
Auth
facade (ファサード)という機能で、ユーザーを認証しログインを管理する機能を自動生成してくれる機能。
composer
Laravelを構成するたくさんの公開ライブラリを矛盾がない状態で管理するツール。
ライブラリ同士は相互に複雑な依存関係がるが、これらの依存関係の管理を一手に引き受けてくれるのがcomposer。
Webpack
CSSやJavaScriptなど複数に分割されているファイルを1つにまとめることができる。
ソースコードを圧縮し、接続速度が早くなる。
Laravel Mix
WebpackやsassをLaravel用に使いやすくオーバーラップしているツール。
Webpackやsassはそれぞれ環境構築などを行うのに時間がかかるがLaravel Mixを使えば設定ファイルに数行記述するだけで、自動的に圧縮等の処理ができる。
GET
指定したURLの内容を取り出すための要求で、最も基本的なHTTPメソッド。
ブラウザからURLを入力してwebページを開くときには、GETメソッドのHTTPリクエストを送っている。
POST
URLに対して情報を要求するだけでなく、クライアントからさまざまなデータを送信することができる。
主にデータを更新するような処理に使われています。
テーブル
分類されたデータベースの種類ごとの単位。
データベースは複数のテーブルを保持し、テーブルごとにデータを管理している。
カラム
データベースの列に相当するもの。「属性」を意味する。
レコード
データそのものを意味する。
インスタンス
データベースとユーザーの間を仲介する役割がある。
インスタンスを介してデータベースを操作することで、データの安全性やパフォーマンスの向上につながる。インスタンスは『データベースにアクセスするための過程』であり、データベースは『データを格納したファイル』という関係性。
スキーマ
データベースの設計図
必要なデータの洗い出しや、そのデータの格納整理のルールを決める。(全体を理解するために割り当てられた『構造』)
データベースでは、そのような作業を『スキーマを定義する』と呼ぶ。
Eloquent ORM
ORMとは、レコードをオブジェクトとして扱えるようにするための仕組み。
Laravelには「Eloquent」というORMが内臓されている。
このEloquentを使って、モデルとデータベースとのやり取りを行うようにしています。
リレーション
テーブルの関連付け。
「Aさんが投稿した記事」というように、ユーザーと記事のテーブルを関連付けることを言う。
デプロイ
公開用のサーバーを用意し、そのサーバーに作成したアプリケーションのインストールを行い本稼働させること。