.net column
.NET開発者のためのブログメディア

PHPのフレームワークであるLaravelとは?起動方法を紹介

2020年06月08日

SE
PHPのフレームワークであるLaravelとは、どのようなものなのでしょうか?

PM
ほかのフレームワークと比較してバージョンアップが頻繁でドキュメントが豊富なため、ここ数年シェアを拡大しています。

Laravelとは?

LaravelはZend Framework、FuelPHP、CakePHP、CodeIgniter、Symfonyといった数あるフレームワークの中でも人気のPHPフレームワークです。もともとSymfonyをベースに開発され、問題点を抜本的に見直したフレームワークです。他のフレームワークと比較してバージョンアップが頻繁でドキュメントが豊富なため、ここ数年シェアを拡大しています。

そもそもフレームワークとは何か?

フレームワーク(framework)は直訳すると「枠組み」「構造」という言葉ですが、何らかの問題や課題を解決する実行テンプレートを意味します。ソフトウェアにおいてのフレームワークは、ルール化された機能を持つプログラムの集合体を指します。LaravelもPHPフレームワークのひとつで、アプリ開発でよく利用される面倒な機能をプログラムにまとめて提供しています。ルール化されているため、一からプログラミングするより簡単に効率よく記述でき、学習コストが低いという点がメリットです。

Laravelの特徴

他のPHPフレームワークと比べてLaravelの特徴は何でしょうか。Laravelでは多種多様な機能を搭載していますが、その中でも代表的なものをピックアップします。

Eloquent

EloquentはLaravelが提供するアクティブレコード機能で、ORM(オブジェクト・リレーショナルマッピング)を利用したデータ操作を提供します。ORMとはリレーショナルデータベースのレコードとプログラム上のオブジェクトを柔軟に結びつける機能のことで、アクティブレコードはORMを利用したデザインパターンを指します。Eloquentを利用すれば、データベースにアクセスする処理を意識せずにプログラミングに注力できます。

Blade

BladeはLaravel専用のHTMLテンプレートエンジンです。HTMLテンプレートエンジンは、作成したプログラムと表示するHTMLテンプレートを分離して開発する仕組みを指します。Bladeのルールに基づいた記述で、レイアウト構成やコンポーネント(部品)を細分化して管理することができます。

Artisan

Artisan(アルチザン)はLaravel専用のコマンドツールで、プログラムファイルの作成、データベースの管理、サーバ起動など様々な操作をコマンドベースで実行できます。例えばモデルとコントローラを作成したい場合、以下のコマンドを入力することで自動的にファイル生成してくれます。

Facade

Facade(ファサード)は、サービスコンテナに登録したクラスに、静的なインターフェイスを提供する仕組みです。Facadeを利用すると静的な呼び出しでクラスインスタンスの扱いができるようになります。プログラムやテストが複雑になり設計の見直しが発生した場合、Facadeを利用した依存性注入を行い、プログラムを整理してテストを容易にする目的で利用します。

その他の機能について

代表的な機能を紹介しましたが、Laravelの公式ドキュメントやAPIリファレンスを確認すると、膨大なフレームワークだということがわかります。バージョン5系からバージョン7系へとかなりの頻度でアップデートされています。ただ大きなフレームワークで多機能な反面、使い方を誤るとパフォーマンス面で不安定になる可能性があるため、注意が必要です。

PHP環境のインストール

まずはPHP環境の導入が必要ですが、Laravelはバージョンによって求めるPHPのバージョンも異なります。2020年3月にリリースされたLaravel7では、PHP7.2.5が必要になります。

XAMPPを利用する

PHPやWebサーバなどの環境構築はインストーラ、Homebrew、VirtualBox、Dockerといった様々な方法で構築できますが、PHP開発環境を一括で設定してくれる「XAMPP」も便利です。

Composerのインストール

PHPの開発環境を構築したらLaravelを導入していきます。その前にComposerのインストールが必要です。Composerは様々なPHPライブラリの依存関係を解決してくれるライブラリ管理ツールです。

Homebrewでインストール(Mac)

Macではプログラムで必要なライブラリをインストール、アンインストールできる、Homebrewというパッケージ管理システムがあります。Composerをインストールする前にHomebrewをインストールします。

Homebrewのインストール

RubyコマンドでHomebrewをインストールします。

Homebrewの動作確認

インストールが完了したらHomebrewのコマンド、brewでバージョンを確認してみましょう。

Composerを検索

今度はbrewでComposerパッケージを検索します。

Composerをインストール

パッケージを確認したら、一度Homebrewをアップデートします。アップデートができたら実際にComposerをインストールして完了です。

インストーラを利用(Windows用)

Windowsの場合、インストーラを利用すると便利です。Composerのダウンロードサイト「Installation – Windows」にアクセスし、「Composer-Setup.exe」をダウンロードしてインストールしてください。

Composer公式のコマンドでインストールする場合

Homebrew、Windows用インストーラ以外にも、PHPコマンドでインストールできます。ターミナルで以下のPHPコマンドを実行し、composer.pharファイルが作成されていれば成功です。

composer.pharのパスを変更する

composer.pharはComposerの実行ファイルですが、現状のままだとファイルパスを直接指定してコマンドを実行しなければいけません。そこで、Composerをどの階層からでも実行できるようにファイルパスを変更します。下記は「/usr/local/bin/」にcomposer.pharを移動し、composerに名称を変更した例です。これで「composer」と入力するだけでComposerを実行することができます。

 

Composerのバージョンを確認する

無事にComposerのインストールが完了したら、Composerが実行できるかバージョンを確認してみましょう。

Homesteadで環境構築する方法

PHP、Webサーバ、Composerをはじめとするツールをインストールしながら環境構築するには、時間や手間がかかります。そこでHomesteadという仮想環境のイメージを利用することで手間を軽減することができます。

Homesteadとは?

HomesteadはLaravelの開発環境を用意したVagrantのイメージです。Vagrantは仮想PC環境VirtualBox上で動作し、設定ファイルを利用することで効率的に管理できるツールです。Homesteadのイメージをインストールして起動すると一からインストールすることなくLaravelの開発環境を手に入れられます。またWindows、Mac、Linux上で同じ環境を構築できるのもメリットの一つです。

Homesteadのインストール

HomesteadのインストールはLaravelの公式サイトに記載されていますが、VirtualBoxとVagrantのインストールが必要です。Vagrantに「laravel/homestead」を追加、設定して起動するとPHP、Webサーバ、データベースなどに連携したLaravelの開発環境が利用できます。Homesteadのインストールや設定に関しては公式サイトを参考にしてください。

Laravelのプロジェクトを作成する

開発環境が用意できたら、いよいよLaravelのプロジェクトを作成してみます。プロジェクトの作成方法は「Composerコマンド」と「Laravelコマンド」2つの方法がありますが、今回は「Composerコマンド」を利用します。

Composerでプロジェクト作成する方法

「composer create-project」でLaravelのプロジェクトを作成します。ここではポジトリを「laravel/laravel」、プロジェクト名を「laravel_app」としました。

「–prefer-dist」と「–prefer-source」オプションの違い

composer create-projectには「–prefer-dist」と「-–prefer-source」オプションがありダウンロードの形式が異なります。

オプション ダウンロード形式
–prefer-dist zip
-–prefer-source git clone

Laravelのファイル構成を確認

プロジェクトの中にはいくつかのファイルやディレクトリがありますが、venderフォルダがLaravelの中核となるライブラリのプログラム群です。その他、publicはWeb公開ディレクトリ、appは開発するプログラムといったようにLaravel独自のルールで構成され、この仕組みをフレームワークと呼びます。

Artisanでサーバを起動する

LaravelではApacheやNginxといったWebサーバを立てなくてもサーバを起動することができます。では実際にサーバを起動してみましょう。

サーバを起動する

サーバを起動するには、artisanコマンドにserveオプションをつけます。成功するとサーバのURLとstartedの文字が確認できます。

ブラウザで確認する

サーバのデフォルトURLは「http://127.0.0.1:8000」で設定されています。実際にブラウザでアクセスすると既にアプリが作成された状態でページが表示されます。「127.0.0.1」の部分は「localhost」のため、「http://localhost:8000」でアクセスしても構いません。また起動中のサーバを終了したい場合、起動中のターミナルで「Ctrl + C」を入力して終了します。

SE
Laravelの導入方法にも、さまざまなやり方があるのですね。

PM
そうですね。OSによって異なるので、しっかり理解しておきましょう!

Laravelを起動してみよう

この記事ではLaravelの特徴から、環境構築、プロジェクト作成、サーバ起動について解説しました。Laravelの導入はOSや利用するツールによって様々な方法があり、環境構築に戸惑うことも多いかも知れませんが、色々な技術を利用していることがわかります。まずは実際にLaravelを起動して体感してみてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags

Jobs