#①Laravelのインストール
$ docker-compose exec app composer create-project 'laravel/laravel=7.*' --prefer-dist [プロジェクト名]
Laravelのバージョンを指定したい場合は、上記のように
'laravel/laravel=7.*'
と書く。
#②ライブラリのインストール
$ composer update
composer.jsonに使いたいライブラリ(
今回は、
"laravelcollective/html": "^6.2",
"scssphp/scssphp": "^1.4.1",
"twbs/bootstrap": "5.0.0-beta1")
を記入後、上記のコマンドを実行
#③.envファイルの変更、 キャッシュの削除
$ vi .env
docker-compose.ymlで設定したenvデータを上記コマンドで入力、変更する。
$ php artisan cache:clear
一応キャッシュをクリアにしておく。
#④MySQLのユーザ認証方式を mysql_native_password に変更
$ docker-compose exec db bash #①
$ mysql -u root -p #②
# SELECT user, host, plugin from mysql.user; #③
# ALTER user 'ユーザー名'@'ホスト名' identified with mysql_native_password by '新規パスワード'; #④
MySQL8以上は認証方式がcaching_sha2_passwordに変わっている。
現在(2021年3月)のPHPではサポートされておらず、エラーが発生する。
参照:https://www.php.net/manual/ja/mysqli.requirements.php
https://teffs.jp/2019/10/mysql-8-0-mysql-native-password-laradock-on-ubuntu/
①まずdbコンテナに入り、
②ルートユーザーでログインする。
③user, host, pluginを確認し、
④上記のように実行する。
#⑤モデルの作成
$ php artisan make:model Article -m -c -r
$ php artisan migrate
$ composer require doctrine/dbal
$ php artisan make:migration add_column_username --table=articles
$ php artisan migrate:fresh
カラム変更がしたい場合は上記のdoctrine/dbalをインストールする。
テーブルがすでに存在しているよというエラーが出た場合は、
migrate:freshで一度テーブルを作り直すと上手くいく 。
#⑥Bootstrapの組み込み
@import 'プロジェクト名/vendor/twbs/bootstrap/scss/bootstrap.scss';
指定したいスタイルがある場合は、app.scssに追記していく。
プロジェクト名/vendor/scssphp/scssphp/bin/pscss < プロジェクト名/public/scss/app.scss > プロジェクト名/public/css/styles.css
追加したら、その都度上記のコマンドを実行する。