作成日:2021/04/12 更新日:2023/03/03
#1 PHPフレームワークのLaravelをつかおう
Laravelとは
LaravelはPHPフレームワークの一つで、数あるPHPフレームワークの中でも、今非常に人気があります。 本講義では、以前応用編2で作成したアプリケーションを、laravelフレームワークを使用して作成して行きます。LaravelはPHPという言語で作られている「フレームワーク」です。
フレームワークとはWordpressのようなCMSに似ていますが、データベースとの処理を自動化したり、 会員登録などのWebアプリケーションを作るための機能が盛り込まれています。
そういった標準的なデータを処理する機能(クラスやライブラリ)をまとめているためにフレームワーク(枠組み)と呼ばれます。
機能が最初からついているので、少ない手順でWebアプリケーションを開発することが可能です。
ただし、フレームワークは以前学習したCMS(Wordpress)と違い、実現できることの自由度が高い反面、学習コストは高めになっています。
Laravelの人気の秘密
・数あるフレームワークの中でも、やや学習コストが低い・フルスタックフレームワーク
→DBからのデータ取得や認証処理の自動化といった、webアプリ開発に必要な機能がほぼ全て含まれている
フルスタックフレームワークはたいていのWebアプリを作れてしまうほど非常に高機能な反面、学習コストが跳ね上がる傾向があります。 しかしlaravelに関しては、比べてみても学習コストが低く、コードが書きやすくなっています。
#2 Laravelをローカル環境に導入する
[macOS向け]
※「Homebrew」が既に導入済みであること前提で書いてますので、 まだ導入していない方は基礎3 #5を実施し、Homebrewを導入してください。①composerの導入
まずはLaravelを導入する為に、composerをインストールしましょう。 ターミナルを立ち上げ、以下のコマンドを入力し、エンターキーを押して実行します。
$ brew install homebrew/core/composer
②composer導入の確認
$ composer -v
③composerでLaravelをインストール
本命のlaravelをインストールします。~/job/stg フォルダに開発環境を作ってみましょう。
ここでは8026-laravelというフォルダ名にしました。
$ cd ~/job/stg/8026-laravel
ターミナルで開発フォルダまで移動します。
$ composer create-project laravel/laravel:^8.0 プロジェクト名 //最新のLarabel8がインストールされます
プロジェクト名のところは任意に設定して構いません。迷ったら「CBC_Laravel」としてください。※このカリキュラムを作ったときはバージョン6でしたが2021年12月に、全ページをバージョン8に対応させました。
④Laravelのバージョン確認
インストール出来ているか一応確認しましょう。
インストールフォルダに移動して、
$ cd CBC_Laravel
バージョンを確認してみよう
$ php artisan --version
↓
Laravel Framework 8.83.23
このようにlaravelのバージョンが表示されたらインストールできています。
#3 Laravelの環境構築
※MAMPが既に導入済みであること前提で書いてます。
まだ導入していない方は応用1 #1を先に実施し、MAMPを導入してください。
ファイルパス:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Laravelも以前学習したPHPやWordpressと同様、仮想サーバを経由して動かします。 Laravel用のポートを解放しましょう。ファイルの最後に、以下のようなポート設定を記述してください。
DocumentRootに関してですが、必ず「public」フォルダまでパスを繋いでください。publicフォルダ内が公開ディレクトリとなります。
env = environment(環境)
テキストエディタで.envファイルを開き、以下の箇所を変更します。
ファイルパス:8026-laravel/CBC_Laravel/config/database.php
'musql'=>[] の部分のポート番号などを下図に習って変更してください。
特に「unix_socket」項目は必ず修正しておきましょう。
データベース名:cbc_laravel
ブラウザで http://localhost:8888/phpMyAdmin にアクセスして、phpMyAdminにアクセスします。 データベースタブをクリックし、データベースを作成しましよう。
Laravelの導入が済んだら、次はMAMPの設定を行います。
下記フォルダに配置されている「httpd-vhosts.conf」をテキストエディタで開いてください。ファイルパス:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Laravelも以前学習したPHPやWordpressと同様、仮想サーバを経由して動かします。 Laravel用のポートを解放しましょう。ファイルの最後に、以下のようなポート設定を記述してください。
Listen 8026
<virtualhost *:8026>
DocumentRoot "/Users/ユーザ名/job/stg/8026-laravel/CBC_Laravel/public"
</virtualhost>
ポート番号は任意で構いません。未使用の番号を指定してください。DocumentRootに関してですが、必ず「public」フォルダまでパスを繋いでください。publicフォルダ内が公開ディレクトリとなります。
次にLaravel側のLAMP設定を修正します。
Laravelはインストールした時点で(MAMPとは別に)、すでに仮想サーバ(LAMP環境)を実行できる環境が整っています。 初期設定のままであればlaravel側の仮想サーバで起動する設定になっています。 LAMP環境はMAMPを利用したいので、Laravel側の設定をMAMPの実行環境に変更する必要があります。Laravelの環境設定を変更する .env ファイル
作成したlaravelプロジェクトフォルダ直下にある隠しファイル .envファイルをエディタで開きます。env = environment(環境)
テキストエディタで.envファイルを開き、以下の箇所を変更します。
.
.
.
DB_CONNECTION=mysql
DB_HOST=localhost /* org 127.0.0.1 */
DB_PORT=8889 /* org 3306 */
DB_DATABASE=CBC_laravel /* org laravel */
DB_USERNAME=root
DB_PASSWORD=root
.
.
.
DB_PORTなどの内容はMAMPのMySQLポートやパスワードを設定してください。
設定内容はMAMPを起動して「Open Webstart Page」から呼び出せます。
Laravelの環境設定を変更する database.php ファイル
.envファイルの設定が完了したら、database.phpもMAMPの設定に合わせておきましょう。ファイルパス:8026-laravel/CBC_Laravel/config/database.php
'musql'=>[] の部分のポート番号などを下図に習って変更してください。
特に「unix_socket」項目は必ず修正しておきましょう。
laravel用のデータベースを作成する
最後に、アプリケーションで使用するデータベースを作成しておきましょう。データベース名:cbc_laravel
ブラウザで http://localhost:8888/phpMyAdmin にアクセスして、phpMyAdminにアクセスします。 データベースタブをクリックし、データベースを作成しましよう。