Skip to content

fks-dev/laravel-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

イロハボードLaravel化

研修生へ

プロジェクト把握時に一読をお願いします

資料

https://github.com/epkotsoftware/dev-laravel-learning-docs/blob/main/README.md

環境構築手順

1. .env の編集

.envファイルはDockerの環境ファイルです。
基本的にはそのまま使用可能ですが、IPとポートが重複するとコンテナが起動しないので
自身の環境に合わせて設定を変えてください。

2. コマンド実行

# リポジトリをクローン
git clone https://github.com/epkotsoftware/dev-laravel-learning.git
# 2. リポジトリに移動
cd dev-laravel-learning
# 3. コンテナ起動
docker-compose up -d
# 4. 対象コンテナ全てのステータスが、UP である事を確認
docker-compose ps

3. Laravel

Webサーバー(コンテナ)に入る

Laravel関連のコマンドはDockerで用意した、Webサーバー(コンテナ)上で行います。

# ターミナルで実行
docker exec -it dev-laravel-learning-web bash

VSCodeのDocker拡張機能が入っている場合、対象コンテナの「Attach Shell」でも開けます。

composer install

# ■ Webサーバーで入力
# 「composer.json」、「composer.lock」に記載されているパッケージをvendorディレクトリにインストール
#   ※ 時間がかかるので注意。
composer install

composer install 実行後に「Exception」が出ていると失敗しているので
root/vendor/ディレクトリを削除して、再実行してみましょう。

Laravel初期設定

# ■ Webサーバーで入力
cd /var/www/root
# 「.env」ファイル
## 「.env.dev」ファイルを「.env」にコピー
cp .env.dev .env
# storage ディレクトリに読み取り・書き込み権限を与える(bootstrap, storage内に書き込み(ログ出力時等)に「Permission denied」のエラーが発生する)
chmod -R 777 bootstrap/cache/
chmod -R 777 storage/

データベースの初期化

Laravel初期設定後に実行してください。

# ■ Webサーバーで入力
cd /var/www/root
# テーブルの再作成&初期データを挿入
php artisan migrate:fresh --seed

マルチログインについて

  • 管理者側へログイン
  • ユーザー側へログイン

環境構築の確認

  • Web ※ IP・ポート番号は .envIPPORT_WEB を参照
  • phpMyAdmin ※ IP・ポート番号は .envIPPORT_PHPMYADMIN を参照

SQLクライアント

こちらは任意です。

  • DBeaver
    • https://dbeaver.io/
    • 接続情報 ※ .env の情報にあわせて設定すること
      • ドライバ名: MySQL
      • ServerHost: localhostIP 参照 (localhost = 127.0.0.1)
      • Port: 3306PORT_DB 参照
      • Database: ※ 未入力でOK
      • ユーザー名: root
      • パスワード: rootDB_ROOT_PASSWORD 参照
  • A5:SQL Mk-2
    • https://a5m2.mmatsubara.com/
    • 接続情報 ※ .env の情報にあわせて設定すること
      • ホスト名: localhostIP 参照 (localhost = 127.0.0.1)
      • ユーザーID: root
      • パスワード: rootDB_ROOT_PASSWORD 参照
      • ポート番号: 3306PORT_DB 参照

PHP_CodeSnifferの使用

コミット・プッシュ前にPHP_CodeSnifferを活用してコーディング規約違反がないかチェックすること。

# ■ Webサーバーで入力
# 全体チェック
composer sniffer ./
# 単一ファイルチェック(例としてAdminLoginControllerをチェックする場合)
composer sniffer ./app/Http/Controllers/AdminLoginController.php

PHPunit

テストの実施

# ■ Webサーバーで入力
# 全体チェック
php artisan test
# 単一ファイルチェック(例としてAdminLoginTest.phpを実施する場合)
php artisan test --filter AdminLoginTest

運用ルール

  • メソッド名はキャメルケースで'test' + URI + HTTPメソッド +ok(正常系) or error(異常系) + テスト観点
    • 例) test_admin_login_delete_ok_session_regenerate()
  • URI毎にテストファイルを作成する
  • 1ケース1メソッドを意識してテストを作成する(1メソッドにテストをまとめない)

About

eラーニングシステム

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 23

Languages