Laravelとは?

2022.06.09

オフショア開発

Laravelとは?Laravelの特徴や始め方をご紹介

開発を行なっていく中でよく議題に上がるのが「どのプログラミング言語を使うか?」ということ。プログラミング言語を選んでも、その中でどのようなフレームワークを使うのか?フロントエンドはどうやって実装するのか?など考えることはたくさんあります。

本記事では、PHPのフレームワークであるLaravelの特徴や始め方をご紹介していきます。Laravelについて理解を深めていきましょう。

1. Laravelとは?

Laravelとは2011年にリリースされたPHPのフレームワークです。
PHPフレームワークの中では後発ながら、その手軽さや扱いさすさから人気を集め、今やPHPの中でも代表的なフレームワークとなっています。

マイクロソフトの.NETの開発に関わっていたTaylor Otwell氏によって開発され、活発なコミュニティ活動により今もどんどんアップグレードされているフレームワークになります。PHPフレームワークの一つであるSymphonyを土台に開発されており、今までPHPの別のフレームワークを触ってきた人にとっても比較的扱いやすいと言われています。

2021年10月現在、最新版は2020年9月にリリースされたLaravel8となっています(2021年9月にリリース予定だったLaravel9は2022年1月に延長されました)。

1-1. Laravelは何に向いているの?

プログラミング言語やフレームワークには、作りたいものによって向き不向きがあります。しかしLaravelは、非常に柔軟で多機能なフレームワークのためwebアプリケーションであれば全般的に向いています。

ただ比較的自由度が高いということもあり、厳密にコードの規約を守らないといけない開発や大人数での大規模な開発をLaravelで行うとその後の保守などが大変になる可能性もあります。
多機能で学習コストが低いという観点から、少人数でスピード感を持って開発したいときなどにはそのメリットを享受できます。

2. Laravelの特徴

「Web職人のためのフレームワーク」と謳われているLaravelがどのような特徴を持っているのかを解説していきます。

2-1. MVCモデル

Laravelでは、MVCモデルを採用しています。MVCモデルとは、処理をModel(データ処理)、View(画面表示)、Controller(全体の制御)の各機能に分けて各パーツごとに開発を行なっていくものです。

どこにどのような処理を書けばいいかが明確になるため、開発経験が浅くても混乱しづらく学習コストが低いと言えます。また、インストールした段階ですでにログインやユーザー管理など基本的な機能が揃っているので、サクッとプロダクトを作るときにもやりやすいでしょう。

2-2. パッケージ管理はComposer

Laravelはパッケージ管理ツールとして、Composerを使用しています。Composerは、開発のために必要になるライブラリやパッケージを管理・インストールするものです。

ライブラリなどを使用するとき、依存性の問題が起こる場合があります。これは、例えば「ライブラリAを使いたい」となったときに、ライブラリAを使うために必要なライブラリB、ライブラリCも一緒にインストールしないと使えないという問題です。

Composerを使用することでこの依存性問題を解決することができます。ComposerコマンドでライブラリAをインストールすれば、勝手に必要なライブラリB、ライブラリCもインストールしてくれるのです。

これがあるのとないのとでは、ライブラリ使用の簡単さが全く違ってきます。コマンド一つで全て揃うというのが非常に便利です。

2-3. Eloquent ORMとMigration

webアプリケーションを開発するために必ず必要になってくるのがデータベースの操作です。
webアプリケーションにおいては、データベースに保存したデータを取得して表示したり、データを更新して常に新しい状態に保ったりといった操作が不可欠です。

Laravelにはそのデータ操作を簡単にするEloquent ORM(エロクアントORM)という仕組みが備わっています。
Eloquent ORMはEloquent Object Relational Mappingの略で、データベースとモデルにリレーションを持たせて、データを柔軟に扱えるようにしたものです。
データベースの操作にはSQLが必須となりますが、SQLをかなり書きやすくしたものと言っても良いでしょう。

例えば「User」テーブルからidが10のユーザーを取得する際、SQLでは

SELECT * FROM user WHERE id=10

という書き方をしますが、Laravelでは

$data = User::where('id', 10)->get();

といった書き方になります。

今まで生のSQLを使用していた人にとっては書き方が難しいと感じるかもしれませんが、慣れれば色々なデータ操作を簡単にできることに気付くでしょう。

またMigration(マイグレーション)というテーブル定義の仕組みも持っており、テーブル定義に対する変更内容が書かれるファイルが生成されることで、データベースの変更などの管理が容易になります。
Migrationファイルがあれば、php artisan migrateというコマンド一つでデータベースのテーブル構築ができるので、複数人で開発するようなときにも非常に便利です。

2-4. 軽量なBladeテンプレート・エンジン

LaravelのView(画面表示)では、Bladeテンプレートを採用しています。
Bladeテンプレートは軽量と言われており、基本的にはHTMLの中にPHPの変数や処理を入れ込むような形で実装していくものになります。

3. Laravelはどのくらい使われているの?

2021年時点でのLaravelは、PHPのみならず他の言語のフレームワークと比較してもトップシェアを誇ると言われています。
Googleトレンドを見てみると、2013年後半ごろから徐々に検索数を伸ばしシェアを拡大してきたことが伺えます。

日本では元々CakePHPがよく使われていましたが、2017年ごろから徐々にLaravelが人気を伸ばし、今は完全にCakePHPがLaravelに追い抜かされた形になります。

すべての国ver.

世界での検索トレンドを見ても傾向は同じです。

ベトナムver.

またLaravelは、ベトナムオフショア開発でも開発者が見つけやすいフレームワークでもあります。
上記を見ても、ベトナムではCakePHPは完全に下火なのに対しLaravelは2015年ごろから検索数が上がってきています。

これはLaravelの比較的自由に開発ができる柔軟性や学習コストの低さ、多機能性が評価されての結果だと言えるでしょう。

4. Laravelのメリットとデメリットは?

Laravelはその特徴から、次のようなメリットとデメリットが挙げられています。

4-1. Laravelのメリット

◇自由度が高い

Laravelは規約が少ないという特徴があるため、フレームワーク特有の制約に縛られることなく開発を行うことができます。そのため、ディレクトリ構造などを自由に変えることができます。

◇機能が充実している

先の章でも説明したようにBladeという元から便利な機能が備わったテンプレートエンジンが用意されているため、テンプレートを編集することで実装が簡単にできます。

◇情報量が多い

Laravelは今人気の高い言語であることから使う人もとても多くいます。そのためネット上にはLaravelに関してブログ記事や質問への回答などが多く存在しています。不明点が出てきたときや別の方法を知りたいときに比較的情報を得やすいというのが特長です。

4-2. Laravelのデメリット

◇自由度が高い

メリットにも挙げた自由度の高さはデメリットにもなり得ます。各自のやり方で自由にコードをかけるため、チームで開発を行う際にはルールを定めなければいけません。大人数よりも少人数での開発に向いている、とも言われています。

5. Laravelはどうやって始めればいいの?

実際に触ってみたいという人は、自分のパソコンにLaravelをインストールすることでローカル環境を作ることができます。
ドキュメントはこちらが参考になります:https://readouble.com/laravel/7.x/ja/installation.html

大まかな流れは以下のようになっています。

  1. Composerをインストール
  2. Composerを使用してLaravelインストーラをインストール
  3. laravel newコマンドでプロジェクトを作成
  4. php artisan serveでローカルサーバを起動し、Laravelの初期画面を確認

実際には各環境でインストールしないといけないものや、実行するコマンドは変わってきますが、Laravelを始めること自体はそれほど難しくありません。
ローカル環境を作成して自分で触ってみると、その構造がよくかると思います。

6. Laravelのまとめ

今やPHPの代表的なフレームワークとして知られているLaravelについてご紹介しました。
柔軟で非常に使いやすいフレームワークなので、一度試してみることをお勧めします。

7. Laravelを利用した開発ならバイタリフィへ

日系オフショア企業のパイオニアとして、ベトナムのホーチミンとハノイにそれぞれの拠点がございます。

現地にて12年以上に及ぶ経験を活かし、上流から下流工程まで一貫して対応可能であるため、御社のビジネスモデルに合った開発手法・体制の構築ができます。また、各プロジェクトでは日本人PMによる手厚いサポート体制があり、リーズナブルなコストのまま日本国内と変わらないクオリティを実現します。

DX推進時代に合わせて、複数の開発チームがあるため、WEB・アプリ開発だけでなく、カジュアルゲーム・VR・ARのUnity、AI開発などハイエンドなエンジニアも保有しております。

ご相談は無料ですので是非お気軽にお問い合わせください!

Laravelとは

Laravelとは
今なら、オフショア開発3分で丸わかりBOOKプレゼント中。
申込はこちらをクリック!

7-1. オンラインで現地視察ができる!「バーチャル視察会」

日本にいながらベトナム現地の視察ができる「バーチャル視察会」を定期的に開催しています!

オフショア開発に少しでもご興味ありましたら是非お気軽にご参加ください!

▼詳細・お申込はこちら

7-2.Laravelとオフショア開発の関連記事

▼ハノイ拠点インタビュー第4弾:Laravel認定試験合格!エンジニアTamさん

▼<2分で読める>オフショア開発で相性の良い案件とは

▼【オフショア開発のメリット】なぜベトナムが人気なのか?

▼【富士通クラウドテクノロジーズ様 インタビュー】オフショア開発で運用コストが半減!

▼【徹底解説】オフショア開発会社の選び方は?どんな特徴がある?