Laravelとはなにか?特徴や環境構築の手順、文法などを解説
Laravelとは
Laravel (ララベル)は、PHP で書かれたWebアプリケーション開発用のフレームワークです。
「MVCモデルが採用されている」「無料で利用できる」「オープンソースで開発されている」といった特徴があります。
フレームワークとは、アプリケーション開発においてよく使う処理を「枠組み(フレームワーク)」としてまとめたプログラムです。フレームワークを使うことで、1からコードを書いた場合では何か月とかかる開発を大幅に短縮することができます。
Webアプリケーションはチームで開発されることが多いため、誰が読んでもわかりやすいコードを書くことが求められます。今日、Webアプリケーション開発現場の多くではコードの統一性を保つことのできるフレームワークが活用されています。
人気の高いフレームワーク、Laravel
Laravelは近年世界中の開発現場で用いられることが急増しており、日本においても最も主流なフレームワークとなっています。
初心者でも読みやすいキレイなコードを書くことができ、システムの規模を問わず、Webアプリケーション全般の開発に向いているフレームワークです。
これからフレームワークを学ぶ場合は、Laravelから始めることをオススメします。
パッケージ管理ツールComposer
Laravel 環境の構築はパッケージ管理ツールであるComposer(コンポーザー)を用いて行います。
Composerによって開発のために必要になるライブラリやパッケージを管理、インストールすることができます。
パッケージ管理ツールとは、依存性の問題を気にせずにインストールが行えるツールです。
たとえば、ライブラリAを使いたいのでインストールをしたいという時、ライブラリAを使うために必要なライブラリBも一緒にインストールしないと使えないという問題が、インストール時にはしばしば生じます。
パッケージ管理ツールComposerを使用することで、こういった依存性問題を解決することができます。
この例でいうと、ComposerコマンドでライブラリAをインストールすれば、自動的に必要なライブラリBもインストールしてくれるというわけです。
Laravel 環境の構築手順
Laravel 環境の構築は以下のような手順で行います。
ここでは、ローカル環境にLaravel 環境を構築する手順を中心に説明します。
構築のために立ち上げるアプリケーションや、実行するコマンドなどの細かい部分は、OS等の環境やLaravelのバージョン、構築したい場所(ローカル環境か仮想環境か)などによって異なってくるため、実際にインストールを行う場合は書籍等も参考に行うことをオススメします。
初心者が環境構築を行う場合は、ただアプリケーションを動作させたり、コマンドを打ち込んだりするだけではなく、「何のためにこの作業を行っているのか」ということを意識しながら進めると、より理解が深まります。
- PHPのインストール
- Composerのインストール
- Laravelプロジェクトの作成
- Laravelプロジェクトの確認
PHPのインストール
PHPのインストールは以下の手順で行います。
- PHPの公式サイトより提供されている、欲しいバージョンのPHP圧縮ファイルをダウンロードします。
- ダウンロードした圧縮ファイルを解凍して、フォルダ名を仮に「PHP」に変更します。
- 変更後、C:\に「2」で解凍したファイルをコピーします。
- 環境変数を変更します。
- 「3」でコピーしたフォルダ中の「php.ini-production」のファイル名を「php.ini」に変更します。
- 「5」で変更した「php.ini」ファイルをメモ帳などのテキストエディタで開き、不要な「;」(セミコロン)を外します。
ここからは、上記の対応の補足説明をしていきます。
環境変数の変更手順(Windows10の場合)
環境変数の変更では、コマンドプロンプトからPHPが利用できるように、環境変数の編集を行い、PHPをインストールしたディレクトリにPATHを通しておきます。
参考までに、Windows10での環境変数の変更手順を紹介いたします。
- エクスプローラにて「PC」を右クリック→プロパティ→システムの詳細設定→環境変数→システム環境変数を選ぶ。
- 環境変数の「Path」を選び、「編集」をクリックする。
- 「環境変数の編集」の「新規」を選び、「c:\php」を追加する。その後、「OK」を押す。
コマンドプロンプトでコマンド「php ?v」を入力し、PHPのバージョンを確認できれば、PHPのインストールが完了している証です。
もし確認できない場合は、コマンドプロンプトを再起動してみましょう。
php.iniファイルの編集
php.iniがダウンロードした時の状態だとPHPを使うことはできません。
php.iniをテキストエディタで開き、下記の部分の「;」を削除する必要があります。
;extension=mbstring ⇒ extension=mbstring
;extension=openssl ⇒ extension=openssl
;extension=pdo_mysql ⇒ extension=pdo_mysql
;extension=xmlrpc ⇒ extension=xmlrpc
;extension=xsl ⇒ extension=xsl
;extension=fileinfo ⇒ extension=fileinfo
「;」(セミコロン)は「php.ini」ファイルにおけるコメントアウトであり、外すことでその行の設定を読み込めるようになります。
php.iniでは他の細かな設定もできますが、初心者がインストールする場合は、ひとまずこの程度のコメントを外しておくと、問題なくインストールできるでしょう。
Composerのインストール
ここからはComposerのインストール方法を説明していきます。
Composerの公式サイトより提供されているインストーラ(Composer-Setup.exe)をダウンロードし、起動することでインストールが開始します。
Composerのインストールはカスタマイズして行うこともできますが、すべてデフォルトの設定で問題ありません。
インストールが終了したら、コマンドプロンプトにおいてコマンド「composer」と入力します。
結果、以下のような花文字が出力されたらインストール成功です。
プロジェクトを作成する
ここからはプロジェクトの作成方法を解説していきます。
今回はC:\の直下に「php-web」というフォルダを作成し、このフォルダにLaravelのプロジェクトをインストールしていきます。
コマンドプロンプト起動して、以下のコマンドを実行し、作成したフォルダに移動します。
cd c:\php-web
次にLaravelのプロジェクトを作成します。プロジェクトを作成するには以下のコマンドを実行します。
composer create-project --prefer-dist laravel/laravel=バージョン プロジェクトフォルダ名
たとえば、Laravelのバージョン6の最新版を、「testProject」フォルダに入れてインストールしたい場合は以下のコマンドを実行します。
composer create-project --prefer-dist laravel/laravel=6.* testProject
コマンドの入力後にLaravelのプロジェクトが作成され、必要なファイルなどが「testProject」フォルダにインストールされます。
このコマンドの処理は完了まで少し時間がかかりますが、通常であれば5~10分程度で終了します。コマンドプロンプトの画面に「Application key set successfully.」と表示されれば作成は完了です。
ネット環境の不具合等で、途中で失敗した場合は、もう一度インストールのコマンドを実行してください。
Laravelのプロジェクトが作成できたか確認する
ここからはいくつかのコマンドでLaravelのプロジェクトが作成できたかどうかを確認していきます。
Laravelバージョンの確認(今回はLaravel6)
コマンドプロンプトで、プロジェクトのルートフォルダまで移動します。
先ほどの例であれば、C:\の直下の「php-web」フォルダの中の「testProject」フォルダにインストールしたため、その階層に移動します。
cd c:\php-web\testProject
Laravelをインストールした以下のコマンドを入力し、Laravelのバージョンを確認します。
php artisan -?version
または
php artisan -V
「artisan(アーティザン)」はLaravelにおいて様々なシーンで使うコマンドです。
artisanコマンドを使う場合は、Laravelプロジェクトのルートディレクトリで使用します。
サーバの起動
以下のコマンドを入力し、サーバを起動します。
php artisan serve
ブラウザを開き「http://127.0.0.1:8000/」とURLに入力し、以下のような画面になったら成功です。
サーバを終了させるにはコマンドプロンプトにて「ctrl+c」を入力します。
開発ツールについて
Laravelの開発においても、普段から使い慣れているエディタやIDE(統合開発環境)を使用することができます。また、多くのエディタやIDEでは、Laravelのコーディングがスムーズになる拡張機能が用意されています。
たとえば「VSCode」の場合、「Laravel Extension Pack」というLaravel開発に便利な機能をまとめてインストールできる拡張パッケージがあるので、開発を始める前にインストールをしておくとよいでしょう。
Laravelにおけるページの作成
Laravelの環境が完成すれば、次はLaravelにおけるページの作成をしてみましょう。
Laravelでは複数のプログラムを利用してMVCの環境を提供します。
まずは動作の確認のために、2つのプログラムを作成し、1つのプログラムを修正します。
ここでは、次の手順でページの作成の手順を解説していきます。
- ルートを設定する。
- コントローラを作成する。
- ビュー(blade)を作成する。
ルートを設定する
ルートの設定とは?routesフォルダ、web.php とは?
ルートはユーザーからのリクエストを受け取り、コントローラに渡すプログラムです。
「このURLの時はこのPHPのメソッドを実行する」といった指定を行うことができます。
Laravel では、routesフォルダにルートに関する情報をまとめています。
routesフォルダの中のファイル「web.php」に、公開したいwebページのルート情報を記述することになります。
web.phpはデフォルトでは以下のように記述されています。
<?php
Route::get('/', function () {
return view('welcome');
});
上記の場合は、URLに「http://127.0.0.1:8000/」と指定すると、「welcome」というviewを表示する、という意味になります。
web.phpにルート情報を追加することで、様々なURLを指定した場合に、それぞれどのviewを表示するかということを指定することができます。
web.phpの記述のルールは以下のとおりです。
Route::get(アドレス,コールバック関数)
このようなコードでRouteクラスのget メソッドを呼び出します。「::」は不思議なコードですが、クラスメソッドを呼び出すために使われるコードです。
ルートの設定手順
web.phpを開き次のコードを追加します。
Route::get('hello','HelloController@index');
上記のコードでは、URLに「hello」と入力されると「HelloController.php」の「index」メソッドを実行する、という処理が行われます。
コントローラを作成する
コントローラとは?
コントローラは、処理全体の制御を担当するプログラムです。
Viewを通して受け取ったユーザーからの入力を、Modelに渡して処理を依頼したり、Modelが処理したデータを、Viewに渡して表示を依頼します。
コントローラの作成手順
コマンドプロンプト等で、プロジェクトのあるディレクトリまで移動します。
cd c:\php-web\プロジェクトフォルダ名
次に、コントローラファイルを以下のコマンドで生成します。
php artisan make:controller コントローラ名
たとえばディレクトリ「app/Http/Controllers/」内に、「HelloController.php」を作成したい場合は以下のコマンドを実行します。
php artisan make:controller HelloController
コントローラファイルが作成できたら、そのファイル開き、サンプルとしてindexメソッドに以下の文を追加してみます。
public function index()
{
//テンプレートに渡すデータ
$data = ['msg'=>'Hello World!!'];
return view('hello',$data);
}
上記のコードは「変数$data」の内容をテンプレート「hello.blade.php」に渡す、という意味です。
ビュー(blade)を作成する。
ビューとは
ビュー(View)はシステムをWebサイトとして表示したり、ユーザーからの入力を受け付けたりする部分を担当します。
LaravelのView(画面表示)では、Bladeテンプレートを採用しています。
Bladeテンプレートでは、基本的にHTMLの中にPHPの変数や処理を入れ込むような形で実装していきます。
またBladeテンプレート独自の制御構文として、条件文やループなどの一般的なPHP の制御構文の便利な短縮記述方法を提供しています
ビュー(blade)の作成手順
フォルダ「resources/views/」に「hello.blade.php」を作成します。作成したファイルには、サンプルとして次のコードを追加します。
<!Doctype html>
<html lang="ja">
<head>
<title>hello</title>
</head>
<body>
<h1>{{$msg}}</h1>
</body>
</html>
{{$msg}}にコントローラ(この例の場合、前項で作成した「HelloController.php」のindexメソッド)から渡された値が入ります。
実行結果を表示する
ルートの設定、コントローラの作成、ビュー(blade)の作成までが完了すると、簡易的なページの完成です。
実際にページが作られているかを確認していきます。
まず以下のコマンドを入力し、サーバを起動します。
php artisan serve
ブラウザを開き「http://127.0.0.1:8000/」とURLに入力し、以下のような画面になったら成功です。
サーバを終了させるにはコマンドプロンプトにて「ctrl+c」を入力します。
まとめ
今回は、Laravelについて解説しました。その内容をまとめると以下のとおりです。
- Laravelは、PHP で書かれたWeb アプリケーション開発用のフレームワークです。
- Laravel 環境の構築はパッケージ管理ツールであるComposerを用いて行います。
- Laravel 環境の構築は「PHPのインストール」→「Composerのインストール」→「Laravelプロジェクトの作成」という手順で行います。
- Laravelによるページの作成には最低限、「ルートの設定」「コントローラの作成」「ビュー(blade)の作成」の3つが必要です。
LaravelはMVCモデルを採用しているため、MVCモデルの理解が深まれば、Laravelの仕組みにより詳しくなれます。
MVCモデルについては下記の記事をご参照ください。