チュートリアル

Laravel入門/チュートリアル 初心者向けに徹底解説

Lravel 入門/チュートリアル

当記事ではLaravelの使い方をチュートリアル形式でまとめていきます。

Laravelとは

PHPで記述されたフレームワークの1つです。

多機能に加えて、柔軟性の高さが理由で導入する企業が増えており、人気が現在も右肩上がりです。

Laravelのインストール

Laravelのインストールには様々な方法がありますが、当記事ではComposerを使用します。

もしまだComposerまたはLaravelをインストールできていない方は下記の記事を参考にインストールしてみてください。

ComposerでLaravelのインストール方法今回は、PHPのフレームワークである「Laravel」のインストール手順を紹介していきたいと思います。 Laravelのサイト この...

フォルダ/ディレクトリ構成

まずはLaravelのフォルダ/ディレクトリ構成がどのようになっているのか確認しましょう。

app アプリケーションのコアとなるコードを含むディレクトリです。アプリケーション内のクラスのほとんどはこの中に設置されます。
bootstrap フレームワークの初期化を行い、autoloadingを設定するファイルがあります。また、フレームワークが作り出すキャッシュファイルを貯めたりもする。
config アプリケーションの設定ファイルを置くディレクトリ。
database データベースのマイグレーションやシードを置くディレクトリ。
public アプリケーションに贈られる、すべてのリクエストのエントリーポイントとなるindex.phpファイルがある箇所。ここには他に画像、JS、CSSといったものを置いたりする。
resources コンパイル前のLESS、SASS、JS、viewといったものを置く箇所。また、言語ファイルも置いたりもします。
routes アプリケーションのすべてのルートを定義するディレクトリ。
storage Bladeテンプレートをコンパイルしたものやセッションのファイル、キャッシュファイル、その他のフレームワークが作り出したファイルなんかが置かれる。
tests PHPUnitなどの自動テストを置くためのディレクトリ。
vender Composerの依存内容を置く箇所。

artisanファイル

laravelのフォルダを作成したディレクトリの直下に「artisan」ファイルが存在します。

こちらはLaravelのコマンドツールになります。

様々なコマンドツールを使用して、操作を行います。

良く使用するコマンドをこちらで紹介致します。

php artisan serve

こちらのコマンドでlaravelのサーバ機能を立ち上げます。

http://{ホスト名}:{ポート番号}にアクセスしてみてください。

php artisan route:list

設定されているrouteの確認。自動生成される場合もあるので、たまに確認しましょう。

.envファイル

laravelのフォルダを作成したディレクトリの直下に「.env」ファイルが存在します。

.envファイルを使用して、開発環境と本番環境を切り替えたり、データベースなどの接続情報の変更を行うことができます。要するに、Laravelにとって重要な設定変更は.envファイルを介することで簡単に行うことができます。

開発環境では簡易的に利用できるsqliteのデータベースに接続し、本番環境では他のデータベースであるmysqlなどのデータベースに接続を分けるといった変更が可能です。

データベース設定

Laravelプロジェクト作成後はデータベースの設定を行いましょう。

以下の手順が必要になります。

  • 接続設定
  • マイグレーション
  • モデル作成
  • シーディング

一つ一つ丁寧に作成しますので、ゆっくり確認してみてください。

接続設定

接続設定とは、データベースへの接続情報を.envファイルに記載いたします。

自分の環境に合わせて設定してください。

初期値は以下のようになっております。

以下は参考用に私の設定です。

マイグレーション

マイグレーションとは英語で「移動・移行」を意味します。Laravelのマイグレーション機能では、まずマイグレーションファイルを作成して、その中にアプリケーションで使用sちあいテーブルの定義(カラムの名前・データ型・制約など)を記載します。

まずはマイグレーションファイルを作成しましょう。

マイグレーションファイルの作成

マイグレーションファイルは、下記のコマンドを実行すると自動で用意されている雛形を生成することができます。

成功すると、マイグレーションファイルがdatabase/migrations/の直下に作成されます。

マイグレーションファイルの実行

こちらでは、実際にデータベースを構成します。

作成するためのコマンドは下記です。

上記のコマンドを実行すると、まだデータベースに反映されていないマイグレーションファイルが全て実行されます。

下記のメッセージが出力されていれば成功です。

マイグレーションが成功したら、下記のテーブルにデータが追加されます。

モデルについて

モデルはデータベースの操作を行うクラスになります。

Artisanコマンドでモデルを作成します。

モデルはAppの直下に作成されます。

モデルについて、もっと詳しく知りたいという方は下記を確認してみてください。

モデルについてデータベースを利用するためには、それなりの準備が必要です。ここではSQLiteデータベースを利用するための準備を整え、Laravelから...

シーディング

シーディングはデータベースを管理する機能の1つで、データベース構築時にダミーデータや初期データを作成するために使用されます。

生成したい内容をクエリビルダで作成することにより、自動でレコードを生成することができます。

では、実際に設定を行っていきましょう。

シーダークラスの作成

マイグレーションのファイルはartisanコマンドで作成します。

上記コマンド実行後は、database/seeds直下に先ほど作成したファイルが作成されます。

シーダーの作成

ダミーレコードを作成します。

先程作成されたファイルを開き、DBファサードをuseにしましょう。

また、runメソッドも以下のように修正してください。

シーディングの準備

シーダークラスを作成することができましたので、次はシーディングを実行してレコードを生成していきましょう。

まずはdatabase/seeds内にあるDatabaseSeeder.phpのファイルを開き、runメソッドにcallメソッドを記述します。

シーディングの実行

シーダークラスを作成して、DatabaseSeederへ登録できれば準備万端です。下記のコマンドを実行しましょう。

指定のテーブルにレコードが生成されていたら、成功です。

ルーティング

データベースの準備ができたら、アプリケーションを作成します。

ルーティングから行っていきましょう。

ルーティングとは、URLとコントローラーのアクションの対応ルールのことです。

ルーティングの情報はroutes/web.phpファイルに記述します。

初期値は下記になります。

ただ、ビューを直接返すのではなく、コントローラを経由するようにルーティングを設定しましょう。

ルーティングについてより詳しく知りたい方は下記の記事を参考にしてください。

Laravelのフォルダ構成とルーティングについて特定のアドレスにアクセスしたとき、どの処理を呼び出して実行するか。それを管理するのが「ルーティング」です。ルーティングは書くWebページ...

MVCモデル

こちらでは、実際にMVCモデルについて解説します。

MVCの構造・パターンについてLaravelのMVCであるモデル・ビュー・コントローラについての設定をしていきます。 MVCは複雑になりがちなプログラミングの処...

ただ、モデルについてはすでに開設していますので、コントローラーとビューについての解説になります。

コントローラについて

ルーティングを設定したら、次はコントローラを生成しましょう。

コントローラの作成には下記のartisanコマンドを実行してください。

作成されたコントローラはapp/Http/Controllerの直下に作成されます。

indexメソッドとeditメソッドを追加で記載しておきましょう。

コントローラについて詳しく知りたい方は下記の記事を確認してみてください。

コントローラについてWebウェブページの具体的な処理はコントローラを使って行うのが基本です。 コントローラは、MVCアーキテクチャの基本となるものです...

ビューについて

では、ビューを作成しましょう。

ビューはresources/viewsディレクトリに作成致します。

Laravelディレクトリを作成、その中にindex.blade.phpを作成してください。

ビューについてLaravelではPHPのスクリプトファイルで「テンプレート」を作成し、それを表示することができます。また「Blade」という独自の高機...

Blade

Bladeの使い方を理解しよう本記事では、LaravelのBladeの使い方を解説致します。 コントローラについて詳しく理解できていない方は下記記事を参考にして...

バリデーション

バリデーションの処理も行っておきたい方は下記もチェックしてください。

laravelのバリデーション フォームなどを使い、データを送信する場合その値が正しい形式で書かれているかどうかを検証する必要があります。これが「バリデーション...

まとめ

もしエラー等が出た場合

PHPを使用していてエラーが出た場合は、下記の記事を参考にしてみてください。

もしかしたら、エラーが改善されるかもしれません。

https://itrice580.com/2021/05/30/php-error/

これからLaravelを始めるならこれが最適!!


今までLaravelに関しての良書はほとんどなく、あっても内容が古かったり分かりにくいのばかりで、先駆者達は苦労したのではないでしょうか?

そんな中で発売されたこの本は、現在の日本国内にて唯一のLaravelの良書と言い切っても良いかと思います。PHP中級者以上なら苦労することなく読めるでしょう。Laravelは高機能ゆえ、全機能を説明してはいませんが、この本をとっかかりにすれば自ずとLaravelをマスターすることができると思います。