先回の投稿でXampp、Composer、Laravelのインストールと基本設定を行いました。
ここから先は実演を交えた解説を記録してゆきます。
なお、本投稿は投稿主の備忘録的位置づけとなっていますので、多少の誤字脱字や不明点等についてはご容赦ください。
先回の投稿でComposer からコマンドで
composer create-project --prefer-dist laravel/laravel LaravelTest とうち、
LaravelTest というプロジェクトルートディレクトリを作成しましたが、ここからはDMENAというプロジェクトで実演をしてゆきます。
いうまでもなく
>cd C:\xampp\htdocs
とxampp配下のhtdocsディレクトリに移り、
composer create-project --prefer-dist laravel/laravel DMENA
とコマンドを打ちます。
DMENAというフォルダが作成されました。
そしてその中にはいくつかのディレクトリが作成されています。
Laravelはこの各ディレクトリに
M(Model)
V(View)
C(Contoroll)
+R(Route)
の役割を持たせてクラス(PHPファイル)の部品化を効率的に行います。
Model
Model はデータの処理を行う部分です。データベースとの連携を行います。
View
Viewはユーザーインターフェースを管理する部分です。
簡単に言えば、ControllerやModelで処理、生成されたデータをブラウザ上に表示させる機能を集約しています。
ブレードには決められた構文があり、その構文に従うことで他のブレードをパーツとして取り込むことや、直接PHP文を書き込むことができます。
Contoroll
ContorollはユーザーからのHTTPリクエストに対し、そのURL(厳密には次で触れるRouteからの要求)を見てどういった処理をModelやViewに渡すか、ということを制御します。
Contorollerクラスを継承したクラスを任意に作成することができ、その中にURLに応じた様々なクラスやメソッドを定義することができます。
Route
もう一つRouteはブラウザからとんできたURLをみてどのControllerに渡すのかを定義します。
HTTPメソッド(GET,POST,PUT,DELETE)などもここで定義します。
この関係性を図にしてみます。
Laravelのディレクトリ構成
以下、主なディレクトリ名とその役割、MVC+Rとの関連について簡単な解説をします。
・app アプリのメインディレクトリ、基本的にはこの中のファイルを構成してゆく
-配下のModelsディレクトリにEloquant ORM (Object Relational Mapping:データベース
操作の機能群) を実装したModelというクラスを継承したファイルを作成し、そのファイ
ルを起点にデータベースとの連携を行います。-<M>
-配下のControllersディレクトリ配下にContorollerクラスを継承したクラスを任意に
作成します。-<C>
・bootstrap 初期設定やキャッシュ系が収容されている、開発ではあまり触らない
・config アプリの設定
・database データベースを操作するマイグレーションを収容する
-テーブルを作成したり、カラムを追加、削除するのはdatabaseディレクトリ配下の
マイグレーションファイルで行います。 -<M>
・public 画像やCSSを収容する
・resources View を構成するブレードなどを収容する
-配下のviewsディレクトリにブレードと呼ばれるファイルを作成してブラウザ画面を
生成してゆきます。 -<V>
・routes アプリのURLの設定
・strage セッションやログを収容する
・test
・vender Composer の依存内容を収容する
以下、MVC+Rの動かし方について実演を交えて解説してゆきますが、その前に私の開発環境と、Visual Studio Code へのLaravel Project展開についてご紹介します。
開発環境
CPU Core-i5-6400 CPU@2.7GHz x64ベースプロセッサ
メモリ 8GB
OS Windows 10 Pro 20H2
Xampp Version:8.0.7
Xampp Control Panel Version:3.3.0
Xampp インストール先 c\xampp\
Apache Version:2.4.48
MariaDB Version:10.4.19
PHP Version:8.0.7
Composer Version:2.1.3
Laravel Framework Version:8.49.1
プロジェクト名:DMENA
プロジェクトルートディレクトリ C:\xampp\htdocs\DMENA
データベース名:dmena
文字コードセット:utf8mb4 unicode ci
実演に入る前に Visual Studio Code にDMENAのディレクトリを登録しておきます。
Visual Studio CodeはMicrosoftが開発しているWindows、Linux、macOS用のソースコードエディタです。
高機能なオープンソースで2019年時点で最も人気のある開発者環境ツールとされています。
Visual Studio Code へのDMENAのディレクトリ登録は簡単です。
Visual Studio Codeの新規画面にDMENAをフォルダごとドラッグ&ドロップします。
DMENAのファイルとディレクトリ構成が登録されます。
これにより、各ファイルの生成更新は所定のディレクトリ内で行われます。
Visual Studio Codeはディレクトリの階層表示が明瞭なのでそれだけでも利用する価値があります。
次回はModel の機能を使ってDBの操作をしてみます。
Comments