- 1. Laravelとは?
- 2. Laravelが活かせる職種
- 3. 学生がLaravelを学習するメリット
- 4. Laravelの環境構築
- 5. Laravelの基本的な使い方
- 6. 初学者におすすめの学習方法
- 7. まとめ
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
1. Laravelとは?
まず、Laravelの概要について紹介します。
Laravelの概要
Laravel は、最も人気のあるPHPフレームワークです。PHPにはLaravel以外にもSymfonyやCakePHPなどといったフレームワークが存在しますが、Google Trends(2021年05月17日現在)で比較すると近年ではLaravelの検索シェアが圧倒的となっています。
フレームワークはWebアプリケーション開発に欠かせないツールです。フレームワークにはWebアプリケーションを効率的に開発するために有効となる機能が用意されており、フレームワークを用いることでデータベースへのアクセスやURLルーティング等を簡単に実装できます。
LaravelはMVCパターンといった他のフレームワークで標準となっている機能を採用しつつ、CRUDの採用やBootstrapへの対応など、高度な機能も有しています。また、理解しやすく学習コストが低いことも特徴であり、人気の理由となっています。
PHPとLaravelの関係
PHPにも標準で多くの機能が用意されていますが、本格的なWebアプリケーションを開発するためには不足する部分があります。またPHPには同一処理でも複数の記載方法があるなど、複数人での開発において整合性を持ったソースコードを作成するのも難しいです。
LaravelをはじめとしたフレームワークはPHPの機能を拡張し、開発においてよく利用される機能を提供してくれます。さらに、MVCパターンに代表されるような効率的な開発パターンに沿ってソースコードを記述し、複数人での開発でも一貫性を高めることができるように設計されています。PHPとLaravelが一体となることで、効率的な開発を実現することができます。
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
2. Laravelが活かせる職種
Laravelは多くのWebアプリケーション開発で利用されているため、Web系企業などにおいてWebエンジニアとなる場合には特にその知識を生かすことができるでしょう。Webエンジニアとなる場合は、Laravelをはじめとしたフレームワークの知識は必須といえます。
Webアプリケーションの開発現場でPHPを単体で利用することは少なく、Laravelをはじめとしたフレームワークを合わせて利用することが一般的です。Laravelに関するスキルを習得することで、開発現場における実務に活用することができます。
3. 学生がLaravelを学習するメリット
上述の通り、多くのWebアプリケーション開発の現場ではフレームワークを利用して開発を行います。PHPだけでなく、Laravelについてのスキルを保有することで即戦力とみなされるでしょう。特にWebエンジニア志望であれば、Laravelの習得はメリットが大きいです。学生のうちにLaravelについて学習することで、就職活動も有利に進めることができるでしょう。
また、Laravelは学習しやすいフレームワークとして知られており、学生が最初に学習するフレームワークとしておすすめできます。他のフレームワークも多くの部分で共通の設計思想を持っているため、Laravelを学ぶことで他のフレームワークを学習する際にも効率的に学ぶことができるでしょう。
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
4. Laravelの環境構築
以下では、Laravelの環境構築方法を紹介します。この記事ではWindowsにおけるXAMPP環境を前提として解説を行います。XAMPP環境を用意していない場合は、事前に準備が必要です。
Composerのインストール
LaravelをXAMPP環境にインストールするには、Composerを利用するのがおすすめです。XAMPP環境にComposerをインストールしていない場合は、まず下記リンクからComposerのインストーラをダウンロードし、インストールを行います。
※参考:Composerダウンロードページ
Laravelのインストール
Composerの導入が完了したら、コマンドプロンプトよりComposerを用いてLaravelをインストールします。
Laravelのインストール方法は複数存在しますが、Composerからcreate-projectを用いて以下のように指定するのが最も簡単な方法です。
composer create-project laravel/laravel --prefer-dist test_project
Laravelをインストールしたら、動作チェックを行います。コマンドラインより、以下の命令を行い、作成したLaravelプロジェクトを実行します。なお、この命令で用いているartisanというコマンドはLaravelを操作するためのものです。Laravelではartisanコマンドで様々な操作を実施します。serveと指定することで、プロジェクトの実行を行うことができます。
php artisan serve
以下のURLにアクセスして、初期画面が表示されたらLaravelのインストールは成功です。
http://localhost:8000
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
5. Laravelの基本的な使い方
以下では、Laravelの基本的な使い方について解説します。この記事ではLaravelの最新バージョンであるLaravel8を前提に解説を行います。
初期設定
Laravelでは、configディレクトリ内に設定ファイルが保管されています。設定を変更する場合はconfigディレクトリ内の設定ファイルを修正しますが、はじめてLaravelを触る場合は、すべてデフォルトの設定のままで問題ありません。
MVCパターンについて
Laravelの利用方法に入る前に、Laravelを触るうえで理解が必須となるMVCパターンについて解説を行います。
MVCパターンとは、アプリケーション開発における効率的なデザインパターンとして知られる手法で、アプリケーションをModel、View、Controllerに分けて構成することを意味します。LaravelにおいてはMVCパターンに沿ってアプリケーションを開発します。
Modelとは、Webアプリケーションのデータ構造を保持し、データベースへのアクセスやデータの処理などを行う部分です。
Viewは、ユーザからのリクエストに応じてHTMLを出力する処理を担う部分です。
Controllerは、ユーザからリクエストを受け付け、入力内容に基づきModelとViewを制御する役割を持つ部分です。
MVCパターンでプログラミングを行う際は、これらModel、View、Controllerにコードを分割して記述を行います。
URLルーティング
Laravelでは、WebサイトのURLをルーティングという仕組みで制御します。一般的なPHPであれば、一つのPHPファイルが一つのURLに対応しますが、LaravelではURLの制御とPHPファイルが分離されています。URLルーティングでは、ユーザがアクセスしたURLに応じて処理を担うコントローラを指定することができます。
URLルーティングを用いることで、例えばブログサイトであればURLに含まれる年月情報により表示する記事一覧を振り分けたり、記事番号により表示する記事を振り分けたりすることができます。
Laravelでは、デフォルトで作成されるRouteクラスを修正することでルーティングを定義します。Routeクラスは、/routes/web.phpに存在します。例えばweb.phpに以下のように記述することで、http://xxxxx/contentsにアクセスした際には、ContentsControllerに処理をゆだねることができます。
Route::resource(contents, 'ContentsController);
Viewの定義
Laravelでは、/resources/viewsディレクトリ内にViewファイルを格納し、利用します。例えば、同ディレクトリ内にcontents.blade.phpという名称でファイルを作成するとよいでしょう。以下では、上述のURLルーティングで指定したURLにアクセスされた際に表示されるViewファイルの例を記載します。以下のファイルをコントローラから呼び出すことで、ユーザに対してHTMLファイルを出力できます。
<!DOCTYPE html>
<html lang="ja">
<head>
<title>コンテンツ表示App</title>
</head>
<body><main>
<div class="contents ">ここにコンテンツ内容を記載</div>
</main></body>
</html>
データベースへの接続
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では、マイグレーションという仕組みでPHPからデータベースにテーブルを作成することができます。
まず、以下のコマンドによりマイグレーションファイルを作成します。作成したマイグレーションファイルは/database/migrationsディレクトリに保存されます。
php artisan make:migration contents_table
マイグレーションファイルの作成後、ファイルに作成するテーブル名と項目を記述します。これらは、作成されたファイルの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);
});
}
最後にマイグレーションを実行することでLaravelからMySQLデータベースにテーブルを作成することができます。この例では、下記のコマンドを実行することで接続したデータベースにcontentsテーブルが作成されるはずです。
php artisan migrate
Modelの作成
Laravelでは、Modelからデータベース等のデータの操作を行います。上記のマイグレーションで作成したデータを扱うために、以下のコマンドでModelを作成します。作成したModelファイルは/appディレクトリに保存されます。
php artisan make:model Contents
データの操作を行う場合は、作成されたModelファイルに記述を行います。
namespace App;
use Illuminate\Database\Eloquent\Model;
class Contents extends Model
{
// データ操作を行う場合はここに記載する
・・・
}
Controllerの作成
以下のコマンドを実行することで、Controllerを作成できます。以下では、これまでの例で示してきた「ContentsController」を作成します。作成されたコントローラは/app/Http/Controllersディレクトリに保存されます。
php artisan make:controller ContentsController
Controllerにindexメソッド等を記述することで、各URLにアクセスされた際の処理内容を指定することができます。以下の例では、http://xxxxx/contents/ にアクセスした場合に上記で作成したcontents.blade.phpを表示するように定義しています。
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
6. 初学者におすすめの学習方法
最後に、はじめてLaravelを学ぶ際におすすめの学習方法について紹介します。
書籍で学ぶ
LaravelはPHPフレームワークの中でも人気であることから、比較的多くの書籍が存在します。Laravelはフレームワークの中では書籍での学習がしやすいといえるでしょう。しかしながら、そもそもフレームワークの考え方は初学者には理解が難しい点も多いです。わからないところを質問できない書籍での独学はどうしても挫折しやすいため、後述するスクールの活用もおすすめです。
Webのチュートリアルを利用する
公式に提供されているものなど、Laravelには多くのチュートリアルサイトが存在します。チュートリアルに従って操作を行うことでLaravelを学習することができますが、チュートリアルをこなすだけになってしまうと学習に結びつきません。フレームワークに対する理解が深まるように、チュートリアルの背景にある考え方などを意識して実施するとよいでしょう。
プログラミングスクールを活用する
独学での学習はハードルが高いため、プログラミングスクールを利用することもおすすめです。PHPとLaravelを合わせて学ぶことができるスクールは豊富に存在しますが、スクールに通うためにはそれなりの費用がかかるため、評判や実績をチェックするなど、慎重にスクールを選ぶべきでしょう。
\ITエンジニア特化の就活支援サービス/
\ITエンジニア特化の就活支援サービス/
7. まとめ
Laravelは人気の高いPHPフレームワークの一つです。Webアプリケーション開発においてフレームワークの利用が一般化する中で、学ぶメリットは大きいといえます。まずは概要や特徴について整理したうえで、実際に環境を構築するところからスタートしてみましょう。
ITエンジニアを目指す新卒学生向け就活エージェントならレバテックルーキー
レバテックルーキーは、レバテックが運営するITエンジニア専門の就活エージェントです。多数のITエンジニアのキャリア支援経験のあるアドバイザーが、あなたのスキルと希望に合わせた企業の紹介から、人事目線での面接対策など、就職までを一貫してサポートします。ES添削、面接対策、ポートフォリオ作成サポートなども実施していますので、まずは一度カウンセリングにお越しください。
就活アドバイザーに相談してみる