作成日: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フォルダ内が公開ディレクトリとなります。
localhost:8026にアクセスすると初期画面が表示されます
env = environment(環境)

.(ドット)ファイルは隠しファイルなので通常は表示されません。普通のエディタで変更する場合は「command + shift + .(ドット)キー」を押して表示してください。
テキストエディタで.envファイルを開き、以下の箇所を変更します。

Open Webstart Page
ファイルパス: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(環境)

.(ドット)ファイルは隠しファイルなので通常は表示されません。普通のエディタで変更する場合は「command + shift + .(ドット)キー」を押して表示してください。
.
.
.
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」から呼び出せます。

Open Webstart Page
Laravelの環境設定を変更する database.php ファイル
.envファイルの設定が完了したら、database.phpもMAMPの設定に合わせておきましょう。ファイルパス:8026-laravel/CBC_Laravel/config/database.php
'musql'=>[] の部分のポート番号などを下図に習って変更してください。
特に「unix_socket」項目は必ず修正しておきましょう。

↓
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '8889'),
'database' => env('DB_DATABASE', 'cbc_laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'root'),
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'charset' => 'utf8',
'collation' => 'utf8mb4_unicode_ci', /* DBの設定によっては utf8_unicode_ci */
'prefix' => '',
'prefix_indexes' => true,
'strict' => false,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
laravel用のデータベースを作成する
最後に、アプリケーションで使用するデータベースを作成しておきましょう。データベース名:cbc_laravel
ブラウザで http://localhost:8888/phpMyAdmin にアクセスして、phpMyAdminにアクセスします。 データベースタブをクリックし、データベースを作成しましよう。
