作成日: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がインストールされます
※このカリキュラムを作ったときはバージョン6でしたが2021年12月に、全ページをバージョン8に対応させました。
④Laravelのバージョン確認
インストール出来ているか一応確認しましょう。
インストールフォルダに移動して、
$ cd CBC_Laravel
バージョンを確認してみよう
$ php artisan --version
↓
Laravel Framework 8.83.23

インストールした中身の確認をしておきましょう。 ファイルが一式揃っているか、画像と照らし合わせてください。
#3 Laravelの環境構築
※MAMPが既に導入済みであること前提で書いてます。
まだ導入していない方は応用1 #1を先に実施し、MAMPを導入してください。
ファイルパス:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Laravelも以前学習したPHPやWordpressと同様、仮想サーバを経由して動かします。 Laravel用のポートを解放しましょう。ファイルの最後に、以下のようなポート設定を記述してください。
DocumentRootに関してですが、必ず「public」フォルダまでパスを繋いでください。publicフォルダ内が公開ディレクトリとなります。
 localhost:8026にアクセスすると初期画面が表示されます
localhost:8026にアクセスすると初期画面が表示されます
env = environment(環境)

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

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

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

 入門
入門 基礎
基礎 応用
応用 実践フロントエンド
実践フロントエンド 実践バックエンド
実践バックエンド デザイン
デザイン キッズ
キッズ