#3 PHPフレームワークのLaravelララベルをつかおう

Laravelとは

LaravelララベルはPHPフレームワークの一つで、数あるPHPフレームワークの中でも、今非常に人気があります。 本講義では、以前応用編2で作成したアプリケーションを、laravelフレームワークを使用して作成して行きます。

LaravelはPHPという言語で作られている「フレームワーク」です。
フレームワークとはWordpressのようなCMSに似ていますが、データベースとの処理を自動化したり、 会員登録などのWebアプリケーションを作るための機能が盛り込まれています。

そういった標準的なデータを処理する機能(クラスやライブラリ)をまとめているためにフレームワーク(枠組み)と呼ばれます。
機能が最初からついているので、少ない手順でWebアプリケーションを開発することが可能です。
ただし、フレームワークは以前学習したCMS(Wordpress)と違い、実現できることの自由度が高い反面、学習コストは高めになっています。

Laravelの人気の秘密

・数あるフレームワークの中でも、やや学習コストが低い
・フルスタックフレームワーク
→DBからのデータ取得や認証処理の自動化といった、webアプリ開発に必要な機能がほぼ全て含まれている

フルスタックフレームワークはたいていのWebアプリを作れてしまうほど非常に高機能な反面、学習コストが跳ね上がる傾向があります。 しかしlaravelに関しては、比べてみても学習コストが低く、コードが書きやすくなっています。

#4 Laravelをローカル環境に導入する

[macOS向け]

※「Homebrew」が既に導入済みであること前提で書いてますので、 まだ導入していない方は基礎3 #5を実施し、Homebrewを導入してください。

①composerの導入

まずはLaravelを導入する為に、composerをインストールしましょう。 ターミナルを立ち上げ、以下のコマンドを入力し、エンターキーを押して実行します。

$ brew install homebrew/php/composer

②composer導入の確認


$ composer -v

↑この表示が返ってくれば導入完了です。

③composerでLaravelをインストール

本命のlaravelをインストールします。
~/job/stg フォルダに開発環境を作ってみましょう。
ここでは8026-laravelというフォルダ名にしました。

$ cd ~/job/stg/8026-laravel
ターミナルで開発フォルダまで移動します。

$ composer create-project laravel/laravel プロジェクト名 --prefer-dist
プロジェクト名は任意に設定して構いません。迷ったら「CBC_Laravel」としてください。

④Laravelのバージョン確認

インストール出来ているか一応確認しましょう。

$ cd CBC_Laravel
$ php artisan --version
↓
⇨Laravel Framework 6.12.0
このようにlaravelのバージョンが表示されたらインストールできています。

インストールした中身の確認をしておきましょう。 ファイルが一式揃っているか、画像と照らし合わせてください。

#5 Laravelの環境構築

※MAMPが既に導入済みであること前提で書いてます。 まだ導入していない方は応用1 #1を先に実施し、MAMPを導入してください。

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

次にLaravel側のLAMP設定を修正します。

Laravelはインストールした時点で(MAMPとは別に)、すでに仮想サーバ(LAMP環境)を実行できる環境が整っています。 初期設定のままであればlaravel側の仮想サーバで起動する設定になっています。 LAMP環境はMAMPを利用したいので、Laravel側の設定をMAMPの実行環境に変更する必要があります。

Laravelの環境設定を変更する .env ファイル

作成したlaravelプロジェクトフォルダ直下にある隠しファイル .envエンブファイルをエディタで開きます。
env = environmentエンバイロメント(環境)

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

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にアクセスします。 データベースタブをクリックし、データベースを作成しましよう。
powerd by