- 1. Laravelとは
- 2. Laravelの特徴
- 3. Laravelの環境構築
- 4. Laravelの基本的な使い方
- 5. Laravelが活かせる職種
- 6. 学生がLaravelを学習する3つのメリット
- 7. 初学者におすすめのLaravelの学習方法
- 8. まとめ
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
1. Laravelとは
そもそもLaravelとは、Webアプリケーションなどのバックエンド開発で用いられるプログラミング言語のPHPをベースにしたフレームワークです。
Laravelを使えるようになると、Webアプリケーションやシステムなどをスムーズに開発できるようになり、エンジニアとして活躍するには理解が欠かせないことの一つといえます。
ここでは、Laravelとは何かについて解説するので、基本的な理解から深めていきましょう。
Laravelの概要
LaravelはPHPを基盤にしたフレームワークの一つで、2011年にベータ版がリリースされています。Laravel以外にもPHP基盤のフレームワークはいくつかありますが、システム開発の現場ではLaravelを利用するケースが多いです。
2024年2月23日現在、Google TrendsでPHP基盤のフレームワークがどの程度検索されているか調べてみると、Laravelの検索シェアが圧倒的という結果でした。
Laravelに次いで検索されているのはCakePHPですが、直近5年間を通じてLaravelの検索状況が突出していることがわかります。Laravelは後述するMVCパターンやArtisanコマンドといった特徴があり、アプリケーション開発を効率的に行える機能性の高さと使いやすさから人気を集めています。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
PHPとLaravelの関係
PHPとLaravelのいずれでもWebアプリケーションの開発ができるものの、PHPでは機能的に不足する部分があります。また、PHPには同一処理でも複数の記載方法があるなど、チームで開発する際に整合性を持った、可読性の高いコード作成も困難です。
PHP自体は、プログラミング言語として問題なく利用できます。しかし、複数人で本格的なWebアプリケーションを開発する際などは、機能が拡張されたフレームワークを利用することで、上記のようなデメリットを解消できるのです。PHPとLaravelが相互に補完しあって一体となることで、効率的な開発を進められます。
PHPというプログラミング言語が母体にあり、機能を拡張して使い勝手を高めたものがフレームワークであると理解しておきましょう。
関連記事:PHPとは?HTMLとの違いや学生が学習するメリットを解説
フレームワークとライブラリの違い
フレームワークと似た概念にライブラリがあります。
ライブラリとは、一つひとつの独立した機能のパッケージ・パーツというイメージです。開発現場では、必要な機能に合わせてライブラリを取捨選択して利用し、柔軟性の高いアプリケーション開発を可能にします。
一方、フレームワークは日本語で「枠組み」を指す言葉で、要するに型がある程度決まっており、必要な機能や仕組みがあらかじめ搭載されているのが特徴です。そのため、アプリケーション開発を素早く行えるうえに、ルールが決まっているため、可読性の高いコードが比較的簡単に書けます。その結果、保守性やメンテナンス性を上げられるものの、フレームワークでは定義できない複雑な処理には対応できません。
フレームワークとライブラリはいずれもシステム開発を容易にできるものである一方、枠組みと部品・パーツという構成要素に違いがあります。
関連記事:ライブラリとは?利用するメリットや注意点をわかりやすく解説
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
2. Laravelの特徴
Laravelはアプリケーション開発を容易にする機能が豊富に搭載されており、MVCパターンやArtisanコマンドなどが大きな特徴として知られています。ここでは、Laravelの特徴について3つの観点で紹介します。
フルスタックなフレームワーク
Laravelはアプリケーション開発を手助けしてくれる機能が多く、なんでも揃っているフルスタックなフレームワークという特徴があります。
フレームワークがない状況では、PHPを一から記述してすべてを自前で開発する必要がありました。そこで利用されるのがライブラリですが、フレームワークが誕生したおかげで開発速度が改善され、作業工数の削減につながっています。
なお、必要最小限の機能だけを提供するものをマイクロフレームワークと呼びますが、Laravelはフルスタックなフレームワークとして、多くの開発現場で使用されています。
関連記事:フレームワークとは?概要やプログラミング言語別の機能を分かりやすく解説
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
MVCパターンによる機能開発
MVCパターンとは、アプリケーション開発における効率的な手法のことで、「Model」「View」「Controller」に分けてアプリケーションを構成することを意味します。Laravelは、MVCパターンに沿ってアプリケーション開発を行っている点も大きな特徴の一つです。
Model、View、Controllerの概要をまとめました。
Model | Webアプリケーションのデータ構造を保持し、データベースへのアクセスやデータの処理などを行う |
View | ユーザからのリクエストに応じてHTMLを出力する処理を担う |
Controller | ユーザからリクエストを受け付け、入力内容に基づきModelとViewを制御する役割を担う |
MVCパターンでプログラミングする際は、Model、View、Controllerにコードを分割して記述します。そのため、MVCパターンでは役割ごとにコードも分かれているため、コードの管理や修正・変更もしやすいというメリットがあります。
なお、MVCパターン(モデル)はほかのフレームワークにも採用されていることが多いため、アプリケーション開発にあたっては理解が欠かせません。
Artisanコマンドによる実行環境
Laravelには、Artisanと呼ばれる独自のコマンドツールがあり、コマンド操作によって各種ファイルの設定やコードの生成、データベース操作などを行える特徴もあります。
上記のような操作をするにあたって、通常であればコードを書く必要がありますが、LaravelではArtisanコマンドによって操作の簡略化が可能です。ArtisanコマンドはLaravel特有の仕組みで、Webアプリケーション開発を効率よく行うために多用されています。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
3. Laravelの環境構築
Laravelを使えるようにするには、自分のPCに作業環境を構築しなければなりません。ここでは、WindowsにXAMPP環境を用意してLaravelの環境構築をする方法を紹介します。
Laravelに限らず、あらゆるプログラミング言語では環境構築が最初のハードルになりがちです。以下の内容を踏まえて、一つずつ準備を進めてみてください。
XAMPPのインストール
そもそもXAMPP(ザンプ)とは、Webアプリケーションの実行に必要なフリーソフトウェアをパッケージにしたものです。おもにWindows環境におけるPHPのアプリケーション開発や学習用で利用されることが多い傾向にあります。
まずは公式サイトトップページの「ダウンロード Windows向けXAMPP」を選択して、インストーラをダウンロードしましょう。次に、ダウンロードできたインストーラをダブルクリックして実行します。セットアップ画面でさまざまな仕様について確認を求められますが、変更を加えずに次へ進み、インストールを済ませましょう。
インストールが完了すると自動的にXAMPPのコントロールパネルが開くはずなので、最初の作業はこれで完了です。XAMPPをインストールすることで、PHPを操作するための基本環境が整うイメージと捉えておきましょう。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
Composerのインストール
XAMPPのインストールができたら、次はComposerと呼ばれる各種ソフトウェアのバージョンを管理するツールをインストールします。LaravelをXAMPP環境に用意する際は、Composerを使うことで動作環境を容易に整備できるためおすすめです。
Composerのトップページにアクセスしたら、「Download」をクリックしてインストーラをダウンロードしましょう。Windowsの場合、「Download」をクリックした次のページにある「Composer-Setup.exe」をクリックしてください。以後の作業の進め方は、先ほどのXAMPPのインストールと同様です。
Laravelのインストール
Composerを導入できたら、コマンドプロンプトを使ってComposerからLaravelをインストールします。
Laravelのインストール方法は複数ありますが、Composerから「create-project」というコマンドを用いて、以下のように指定するのが最も簡単です。
composer create-project laravel/laravel --prefer-dist test_project |
なお、上記のコマンドでは、「test_project」というディレクトリ(フォルダ階層)を作成するように指示しています。
Laravelの動作確認
Laravelをインストールできたら、動作チェックを行いましょう。コマンドラインから以下の指示を行い、作成したLaravelプロジェクトを実行します。
php artisan serve |
この指示で用いている「artisan」というコマンドが、先ほど紹介したLaravelの特徴の一つです。Laravelではartisanコマンドでさまざまな操作を実施します。今回は「serve」と指定することで、プロジェクトを実行できます。
実行できたら以下のURLにアクセスして、Laravelの初期画面が表示されればインストールは完了しています。
http://localhost:8000 |
なお、「:8000」はポート番号と言いますが、先ほどのコマンド操作で表示された画面には、環境次第で異なる番号が表示される可能性があります。その際は、番号を変更してアクセスしてみてください。
Laravelのディレクトリ構成
今回紹介している例では、プロジェクトを作成すると「test_project」というディレクトリが追加され、その配下に以下のようなディレクトリが構成されます。
app | アプリケーションのロジック |
bootstrap | Laravelフレームワークの起動コード |
config | 重要な設定ファイル |
database | データベース関連を担うファイル |
public | Webサーバのドキュメントルート |
resources | Viewや言語変換用ファイルなどが格納 |
routes | 後述するルーティング用のファイル |
storage | フレームワークが使用するファイル群 |
tests | テストコードを格納 |
vendor | Composerでインストールしたライブラリを格納 |
それぞれにどのようなファイルが格納されているか把握しておくことで、どの操作をするときにどのディレクトリを扱えばよいか理解しやすくなるでしょう。なお、Laravelのバージョンによって構成が異なる場合もあるため気をつけてください。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
4. Laravelの基本的な使い方
Laravelの基本的な使い方について、コマンド操作やディレクトリの紹介を含めて解説します。
初期設定
Laravelを操作するにあたって、まずは初期設定の方法について紹介します。
Laravelでは、重要な設定に関するファイルは「config」に格納されているため、設定の変更などをする際は覚えておきましょう。ただし、初めてLaravelを操作する場合はデフォルトの設定のままで問題ないため次で進んでください。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
データベースへの接続
Laravelでプロジェクトを作成したら、データベースの設定を最初に行いましょう。
まず、設定する前提として、データベースへの接続情報は、config配下の「.env」ファイルに記述します。例えば、以下のように.envファイルに記述することで、ローカルのMySQLデータベースと接続できます。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_test DB_USERNAME=root DB_PASSWORD=xxxxxx |
上記の記述をすることで、データベース名に「laravel_test」が付され、「root」というユーザーを任意のパスワードで作成すれば、ローカル環境でデータベースと接続できることを意味します。
マイグレーション
マイグレーションとは、データベースの操作に関して、SQLという言語を使って行うのではなく、PHPのソースで管理する仕組みを指します。Laravelではマイグレーションによってデータベースにテーブルを作成できるため、以下でマイグレーションファイルの作成と実行について解説します。
マイグレーションファイルの作成
マイグレーションファイルの作成をする際は、「make:migration」コマンドを実行します。
php artisan make:migration contents_table |
これにより、「contents_table」という名前のマイグレーションファイルが作成されました。なお、作成されたファイルは「database/migrations」ディレクトリに保存されます。
次に、ファイルに作成するテーブル名と項目を記述します。これらは、作成されたファイルの「up関数」を修正することで行います。
以下の例ではid、title、contentsの項目を持った「contents」という名前のテーブルを作成しています。
public function up() { Schema::create('contents', function (Blueprint $table) { $table->increments('id'); $table->string('title', 20); $table->string('contents', 1000); }); } |
これでマイグレーションファイルの作成は完了です。
マイグレーションの実行
マイグレーションを実行する際は、「migrate」コマンドを使用します。
php artisan migrate |
関連記事:MySQLとは?特徴やできること・学習メリット・使い方・学習法を解説
Modelの作成
続いて、Modelの作成について紹介します。Laravelでは、Modelからデータベース等のデータの操作を行います。
先ほどのマイグレーションで作成したデータを扱うために、「make:model」コマンドでModelを作成しましょう。
php artisan make:model Contents |
コマンド操作により、今回は「Contents」という名前のModelファイルが作成できました。作成したModelファイルは、「app」ディレクトリに保存されます。
続いて、データの操作を行う場合は、作成されたModelファイルの「// データ操作を行う場合はここに記載する」に記述します。
namespace App; use Illuminate\Database\Eloquent\Model; class Contents extends Model { // データ操作を行う場合はここに記載する ・・・ } |
Modelの作成はこれで完了です。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
ルーティングの設定
ルーティングとは、クライアントからのリクエストを受け付け、内容によって処理を振り分ける仕組みのことです。一般的なPHPの場合、一つのPHPファイルが一つのURLに対応する一方、LaravelではURLの制御とPHPファイルが分離されています。
URLルーティングでは、ユーザがアクセスしたURLに応じて処理を担うコントローラを指定可能です。これにより、ブログサイトであれば、URLに含まれる年月情報により表示する記事一覧を振り分けたり、記事番号により表示する記事を振り分けたりできます。
Laravelでは、デフォルトで作成される「Routeクラス」を修正することで、ルーティングを定義します。Routeクラスは「routes/web.php」に存在するため、以下のように記述すると、「http://xxxxx/contents」にアクセスした際には、ContentsControllerに処理をゆだねることができます。
Route::resource(contents, 'ContentsController); |
なお、「ContentsController」は、後述するControllerの作成によって作られるもので、現時点では存在しません。次の見出しを参考にして操作を進めましょう。
Controllerの作成
Controllerは「make:controller」コマンドを実行することで作成できます。
php artisan make:controller ContentsController |
そもそも、Controllerはルーティングされてきたリクエストを受け取り、レスポンスをする役割を担うものです。コマンド操作により、先ほどの「ContentsController」を作成できました。作成されたコントローラは「app/Http/Controllers」ディレクトリに保存されます。
Controllerにindexメソッド等を記述すると、各URLにアクセスされた際の処理内容を指定できます。
上記の例では、「http://xxxxx/contents/」にアクセスした場合に、先ほど作成した「contents.blade.php」を表示するように定義しています。
Viewの定義
Viewとは、実際に表示される画面を作成するものです。Laravelでは、「resources/views」ディレクトリ内にViewファイルを格納して利用します。
たとえば、同ディレクトリ内に「contents.blade.php」という名称でファイルを作成するとよいでしょう。以下では、上述のURLルーティングで指定したURLにアクセスされた際に表示されるViewファイルの例を記載します。
<!DOCTYPE html> <html lang="ja"> <head> <title>コンテンツ表示App</title> </head> <body><main> <div class="contents ">ここにコンテンツ内容を記載</div> </main></body> </html> |
このファイルをコントローラから呼び出すことで、ユーザに対してHTMLファイルを出力できるようになります。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
5. Laravelが活かせる職種
Laravelは多くのWebアプリケーション開発で利用されており、Web系企業などでWebエンジニアになる場合は知識をすぐに活かせるでしょう。Webエンジニアとして活躍するには、Laravelに留まらず、各プログラミング言語で用いられるフレームワークを理解しているに越したことはありません。
開発現場でPHPを単体で利用する機会は少なく、フレームワークとセットで利用するのが一般的です。そのため、基礎言語であるPHPとフレームワークのLaravelはセットで学んでおきましょう。
関連記事:エンジニアとは?種類・仕事内容・年収・適性を徹底解説します
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
6. 学生がLaravelを学習する3つのメリット
学生のうちにLaravelを学習しておくことで、即戦力人材であるとアピールしやすくなるだけでなく、ほかのフレームワークも理解しやすくなるでしょう。ここでは、学生がLaravelを学習するメリットを3つ紹介します。
即戦力とみなされやすい
Web系企業では開発現場でフレームワークの利用機会が多く、Laravelを用いた自作アプリの開発経験があるなどすれば、即戦力人材としてアピールできるでしょう。
PHPだけでなくLaravelまで学んでいると、ほかの学生との差別化にもつながりやすく、就職活動を有利に進められるはずです。
就職してすぐに使える実践的なスキルを身につけたいのであれば、プログラミング言語だけでなく、フレームワークまで扱えるようになりましょう。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
学習コストが比較的少ない
LaravelはPHP基盤のフレームワークのなかで利用者が圧倒的であり、書籍はもちろん、インターネット上からも情報収集しやすく、学習ハードルが比較的低い点にもメリットがあります。
そもそも、PHP自体がプログラミング初心者にとってわかりやすい言語であり、これから学びたい人にとって特におすすめです。学習コストを下げられるのは、プログラミング初学者にとって大きなメリットになるでしょう。
(中見出し)
ほかのフレームワークを効率的に学べる
Laravelを一通り学ぶことで、他言語のフレームワークも理解しやすいというメリットも挙げられます。
Laravelに組み込まれているMVCモデルなどは、ほかのフレームワークにも共通する設計思想です。そのため、Laravelで培った知識を横展開しやすく、ほかのフレームワークの理解も捗ります。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
7. 初学者におすすめのLaravelの学習方法
プログラミング初学者がLaravelを学習する際は、挫折しづらい入門者向けの書籍を使ったり、オンライン学習サイトや動画講義を利用したりするとよいでしょう。
ここでは、はじめてLaravelを学ぶ際におすすめの学習方法を紹介します。
書籍で学ぶ
Laravelに関する参考書は比較的多いため、体系的にまとめられた入門書から学習を始めてみるとよいでしょう。
しかし、フレームワーク自体がやや特殊な概念であり、前提としてPHPの理解も必要であることから、最初は理解に苦しむかもしれません。また、わからない箇所を質問できないため、書籍で独学するのは挫折する可能性が高いです。
最初は書籍ではなく、実際に手を動かしながら実践形式で学んだり、動画講義でざっくりした理解に努めたりするとよいでしょう。もちろん、プログラミングスクールでいつでも質問できる環境を用意しても構いません。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
学習サイトを利用する
プログラミング初学者の場合は、学習サイトを利用してゲーム感覚でLaravelを学んでみてもよいでしょう。
ドットインストールでは、PHPやLaravelについて学べるコンテンツが短尺の動画で用意されています。有料会員の場合でも書籍1冊ほどの費用なので、Laravelを体感的に理解したい人は、学習サイトから始めてみてください。
動画講義を利用する
学習サイトの利用以外にも、エンジニアなどが撮影した動画講義でLaravelを体系的に学ぶのもおすすめです。さまざまな動画講義を購入・閲覧できるプラットフォームのUdemyでは、動画講義を買い切り型で購入して学習できます。
その道のプロであるエンジニアを中心に、Laravelの環境構築から実際のプログラミングの進め方、アプリ開発の流れなどを順序立てて解説しているため、どれも参考になるでしょう。
実際に手を動かしながら学習を進めれば、簡易的なアプリケーションの開発もできるようになるはずです。
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
Webのチュートリアルを利用する
Laravelのチュートリアルを使って学習する方法もあります。
要するに操作説明書ですが、公式が提供しているものも含めてさまざまなチュートリアルサイトが存在するため、それらを使って操作しながら学習を進めるのも一つの方法です。ただし、先ほどの動画講義の利用と同様、内容通りに操作するだけでは理解が深まりません。
Laravelを本質的に理解するためにも、背景にある考え方を意識するなど、自分なりの工夫を凝らして学習を進めるのがポイントです。
プログラミングスクールを活用する
Laravelを本気で学習したい場合は、プログラミングスクールの利用がおすすめです。
独学での学習はどうしてもハードルが高いため、いつでも質問できる環境で、PHPとLaravelをセットで学べば学習効率も上がります。
ただし、プログラミングスクールに通うには相応の費用がかかります。評判や実績をチェックするのはもちろん、通う費用と得られる成果を慎重に見極めてスクールを検討しましょう。
なお、レバテックカレッジでは、月々29,800円(税込)でプログラミングを本気で学べる環境を用意しています。独学が続かない人は、レバテックカレッジも検討してみてください。
関連記事:プログラミングの勉強はどうする?独学手順や必要な時間・注意点を解説
\15年超の実績を持つレバテックが運営/
\15年超の実績を持つレバテックが運営/
8. まとめ
LaravelはPHP基盤のフレームワークで、機能性が高く使い勝手もよいため、多くのWeb系企業でアプリケーション開発に利用されています。
Webアプリケーションの開発現場ではフレームワークを使うのが一般的であるため、プログラミング言語を学ぶだけでなくフレームワークも扱えるようになると、ほかの学生との差別化もしやすいでしょう。
Laravelを学ぶ方法を紹介しましたが、まずは本記事で紹介した環境構築から挑戦してみてください。実際に手を動かしながら試行錯誤して、少しずつプログラミングをマスターしていきましょう。
ITエンジニアを目指す新卒学生向け就活エージェントならレバテックルーキー
レバテックルーキーは、レバテックが運営するITエンジニア専門の就活エージェントです。多数のITエンジニアのキャリア支援経験のあるアドバイザーが、あなたのスキルと希望に合わせた企業の紹介から、人事目線での面接対策など、就職までを一貫してサポートします。ES添削、面接対策、ポートフォリオ作成サポートなども実施していますので、まずは一度カウンセリングにお越しください。
就活アドバイザーに相談してみる