Laravelを学べば、Webアプリを効率良く作ることができます。なぜなら、アプリに必要な機能を自分で作らなくて済むからです。
Laravelには、アプリに必要な機能を追加する仕組みが、最初から搭載されています。もちろん、機能の追加も簡単に行えます。
ただ、そのためにはLaravelの仕組みやルールを覚えておく必要があります。そこで、まずは基礎知識や使うための準備を確認しておきましょう。
「また勉強するのかぁ…」とテンションが下がるかもしれませんが、Laravelを使うメリットはたくさんあります。しかも、複雑な設計になればなるほど、Laravelの便利な機能が威力を発揮するでしょう。
つまり、「覚えておいて損はない!」ということです。もちろん、Laravelをおすすめする理由も、このあとご紹介します。
この記事では、Laravelの基礎知識やメリット、わかりやすい始め方について解説しているので、ぜひ参考にしてください。
Laravelの基礎知識
まずは、Laravelの概要について簡単に説明します。Laravelは、『M・V・C』と役割を3つに分けて組み合わせることで、アプリを作るフレームワークです。(MVCフレームワーク)
役割を分けることで、処理の流れやコードの内容が理解しやすくなります。では、3つの役割について簡単に表でまとめておきます。
役割 | 担当する処理 | 主な内容 |
---|---|---|
Model (モデル) | データの処理 | データベースにアクセスして、データを操作する |
View (ビュー) | 画面の表示 | テンプレートを使い、アプリの見た目を作る |
Controller (コントローラー) | 全体の制御 | アクセスされたURLにあわせて、必要な処理を実行する |
例えば、「Webページにアクセスしたとき」の処理の流れは下記の通りです。
- それぞれのURLに対する処理を決めておく
- URLにあわせてコントローラーが指示をする
- データが必要な場合はモデルが処理を実行する
- Webページの見た目をビューが用意する
- ユーザーにWebページを表示する
もしかして、「逆に面倒だよ…」と思いましたか?
確かに、この部分だけで見ると処理が増えているため、そう感じてしまいますよね。
しかし、Webページの数や扱うデータの種類が増えるほど、分担して処理をする効果が発揮されます。それでは、次章でWebアプリを効率良く開発できる理由についてご紹介します。
Laravelを使うメリット
続いて、LaravelでWeb開発をするメリットについて解説します。主なメリットは3つあります。
では、それぞれ簡単に説明していきます。
必要な機能が搭載されている
Laravelには、Webアプリに必要な機能が最初から用意されています。そのため、コマンドを入力したり、ファイルに追記するだけで機能を追加できます。
つまり、自分でPHPのコードを書いて、実装したい機能を作る必要はありません。では、主な機能や追加する方法について、表でまとめたので確認してみてください。
機能の例 | 内容 | 追加する方法 |
---|---|---|
CSRF対策 | 外部から大量のデータを送る攻撃を防ぐ | ファイルに@csrfと書く |
フォームのバリデーション | 入力した内容をチェックする | @error('')でチェック {{$massage}}でエラーメッセージを表示 |
ダミーレコードの作成 | 簡単にレコードの準備ができる | シーダーファイルを作り、コマンドで実行 |
データベース接続 | 接続方法を選べる | DBクラス+PHPメソッドで操作 ORMを使った柔軟な操作も可能 |
データベースの管理 | テーブル構造の変更や削除後の更新がラク | マイグレーションファイルを作り、コマンドで実行 |
テーブルの関連付け | 異なるテーブルにあるデータを紐付ける | テーブルを追加し、マイグレーションを実行 |
ログイン機能 | ユーザー用のテーブルとセッションを組み合わせる | 必要なファイルをインストール ユーザー認証クラスを組み合わせる |
Laravelを使うと、これらの機能を簡単に実装できます。つまり、効率良くWebアプリを開発できるということです。
複数人での開発やメンテナンスについて
Laravelのようなフレームワークは、コードの記述方法やファイル構成などのルールが決まっています。基本的なルールが決まっていれば、誰が書いても同じようなプログラムが出来上がりますよね。
つまり、Laravelの基礎知識があれば、第三者でもコードの内容が理解できるため、プロジェクトの引き継ぎをスムーズに行えます。もちろんメンテナンスも同じで、コードが読みやすければ変更点も探しやすいというわけです。
また、Laravelのように役割が分かれているフレームワークなら、使いたい機能を特定の場所へ簡単に追加できます。この仕組みを理解しておけば、他言語のMVCフレームワーク(Ruby on Railsなど)にも応用できますね。
Laravelは人気がある
実は、PHPのフレームワークにはたくさんの種類があります。そこで、まずはLaravel以外の代表的なフレームワークをご紹介します。
- Symfony
- CodeIgniter
- Yii
- CakePHP
他にもありますが、とりあえず人気の高い種類のみ集めました。ここにLaravelを加えて、「Google Trends」で検索数を比較してみます。
Google Trendsは誰でも利用できるので、気になる方はぜひ確認してみてください。ちなみに、国によって人気のフレームワークは異なるため、日本と世界中の2つに分けて調べてみました。
まずは世界中の検索数を比較したデータです。
Laravelの検索数が圧倒的に多いことがわかります。ちなみに、Laravelは世界で2番目に検索されているSymfonyを土台にして作られています。
では次に、日本での検索数を比較してみます。
日本でもLaravelの検索数が圧倒的に多いです。日本ではCakePHPが2番目に検索されていますが、Laravelとは大きな差があります。つまり、Laravelは日本でも、世界中でも人気があります。
気になる求人数は?
いくら検索数が多くても、仕事に繋がらなければ意味がないですよね。そこで、求人サイトで求人数も比較してみました。
種類 | 求人数(件) | 未経験OK(件) |
---|---|---|
PHP | 1517 | 133 |
Laravel | 1219 | 7 |
CakePHP | 85 | 5 |
Symfony | 27 | 1 |
※2021年11月24日時点・リクナビNEXTより
他のフレームワークと比べて、Laravelの求人数が圧倒的に多いですね。ただし、どのフレームワークも実務未経験で就職するのは難しいようです。
Laravel学習の始め方
ここからは、Laravel学習の始め方について解説します。実は、Laravelを使うためには条件がたくさんあり、自分で確認しながら揃えていくのは大変です。
そこで、「Composer」というパッケージ管理システムを使います。では、Laravelを使うまでの流れを簡単にまとめておきます。
と言ってもわかりにくいですよね。そこで、「Laravelの準備から基本の使い方まで」を解説してくれているYouTube動画をご紹介します。
⬆︎福さんの動画を見ながら進めていくと、誰でも簡単にLaravelを使い始めることができますよ。
なお、動画内のLaravelのバージョンは「5.8」なので、現時点(2021年11月)のバージョン「8」とはコードの記述方法が異なります。
もしエラーが出て進められない場合は、動画のコメント欄や公式マニュアルなどを参考にしてください。ちなみに、動画と同じバージョンをインストールしたい場合は、コマンドで下記の通りに入力します。
composer create-project --prefer-dist laravel/laravel blog "5.8.*"
また、Laravelのバージョン「8」で進める場合は、下記のメモを参考にしてみてください。
Laravel入門の正誤表
#04 MVCとルーティング
web.phpを修正する
⬇︎追加
use App\Http\Controllers\BlogController;
⬇︎変更
Route::get('/', [BlogController::class, 'showList'])->name('blogs');
#06 MVCとブレード
npm install && npm run dev 実行時にエラー
エラーの一部を抜粋→”Finished. Please run Mix again.”とあるので、再度⬇︎を実行
npm install && npm run dev
#07 シーダーとファクトリー
php artisan db:seed 実行時にエラー
→コメント欄の「まるこさん」の回答を参考にコードを修正する
Class ‘App\Models\Blog’ not found とエラー
⬇︎原因
Blog.php が App\Models\Models; となっていた
→App\Models; に修正しファイルの場所を移動する
なお、Laravelバージョン「8」でも最後まで進めたので、ぜひチャレンジしてみてください。
Laravelを学んだら何をする?
実は、Laravelを学んだだけではあまり意味がありません。なぜなら、LaravelはWebアプリを作るためのフレームワークだからです。
実際にアプリを作ってみないと、便利な機能の使い方も身に付きません。ですから、Laravelの基礎知識を学んだあとは、自分でWebアプリを作ってみてください。
ただ、「こんなアプリがあれば便利だなぁ…」と、イメージしたものを作れるなら一番良いのですが、なかなか難しいですよね。
そこで、動画を見ながら自分でアプリを作ってみましょう。アプリの作り方を解説してくれる動画は、⬇︎の記事で紹介しているので、ぜひ参考にしてください。