
PHPのフレームワークであるLaravelとは?起動方法を紹介
目次
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専用のコマンドツールで、プログラムファイルの作成、データベースの管理、サーバ起動など様々な操作をコマンドベースで実行できます。例えばモデルとコントローラを作成したい場合、以下のコマンドを入力することで自動的にファイル生成してくれます。
1 |
$ php artisan make:controller TopicController --resource --model=Topic |
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をインストールします。
1 |
$ /usr/bin/ruby -e ""$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"" |
Homebrewの動作確認
インストールが完了したらHomebrewのコマンド、brewでバージョンを確認してみましょう。
1 |
$ brew --versionHomebrew 2.2.17 |
Composerを検索
今度はbrewでComposerパッケージを検索します。
1 |
$ brew search composer==> Formulaecomposer |
Composerをインストール
パッケージを確認したら、一度Homebrewをアップデートします。アップデートができたら実際にComposerをインストールして完了です。
1 |
$ brew update$ brew install composer...==> Downloading https://getcomposer.org/download/1.10.6/composer.phar######################################################################## 100.0%... |
インストーラを利用(Windows用)
Windowsの場合、インストーラを利用すると便利です。Composerのダウンロードサイト「Installation – Windows」にアクセスし、「Composer-Setup.exe」をダウンロードしてインストールしてください。
Composer公式のコマンドでインストールする場合
Homebrew、Windows用インストーラ以外にも、PHPコマンドでインストールできます。ターミナルで以下のPHPコマンドを実行し、composer.pharファイルが作成されていれば成功です。
1 |
$ php -r ""copy('https://getcomposer.org/installer', 'composer-setup.php');""$ php -r ""if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;""$ php composer-setup.php$ php -r ""unlink('composer-setup.php');"" |
composer.pharのパスを変更する
composer.pharはComposerの実行ファイルですが、現状のままだとファイルパスを直接指定してコマンドを実行しなければいけません。そこで、Composerをどの階層からでも実行できるようにファイルパスを変更します。下記は「/usr/local/bin/」にcomposer.pharを移動し、composerに名称を変更した例です。これで「composer」と入力するだけでComposerを実行することができます。
1 |
$ sudo mv composer.phar /usr/local/bin/composer |
Composerのバージョンを確認する
無事にComposerのインストールが完了したら、Composerが実行できるかバージョンを確認してみましょう。
1 |
$ composer --versionComposer version 1.9.2 2020-01-14 16:30:31 |
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」としました。
1 |
$ composer create-project laravel/laravel --prefer-dist laravel_appInstalling laravel/laravel (v7.12.0)...> @php artisan key:generate --ansiApplication key set successfully. |
「–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独自のルールで構成され、この仕組みをフレームワークと呼びます。
1 |
.editorconfig.env.env.example.gitattributes.gitignore.styleci.ymlREADME.mdappartisanbootstrapcomposer.jsoncomposer.lockconfigdatabasepackage.jsonphpunit.xmlpublicresourcesroutesserver.phpstoragetestsvendorwebpack.mix.js |
Artisanでサーバを起動する
LaravelではApacheやNginxといったWebサーバを立てなくてもサーバを起動することができます。では実際にサーバを起動してみましょう。
サーバを起動する
サーバを起動するには、artisanコマンドにserveオプションをつけます。成功するとサーバのURLとstartedの文字が確認できます。
1 |
$ php artisan serveLaravel development server started: http://127.0.0.1:8000[Sat May 23 01:57:03 2020] PHP 7.4.6 Development Server (http://127.0.0.1:8000) started |
ブラウザで確認する
サーバのデフォルトURLは「http://127.0.0.1:8000」で設定されています。実際にブラウザでアクセスすると既にアプリが作成された状態でページが表示されます。「127.0.0.1」の部分は「localhost」のため、「http://localhost:8000」でアクセスしても構いません。また起動中のサーバを終了したい場合、起動中のターミナルで「Ctrl + C」を入力して終了します。
Laravelを起動してみよう
この記事ではLaravelの特徴から、環境構築、プロジェクト作成、サーバ起動について解説しました。Laravelの導入はOSや利用するツールによって様々な方法があり、環境構築に戸惑うことも多いかも知れませんが、色々な技術を利用していることがわかります。まずは実際にLaravelを起動して体感してみてください。