# ShowNote:PHPerのための「2020年のPHP/Laravel振り返り+2021年」を語るTechCafe
## イベントページ
https://rakus.connpass.com/event/199438/
## 2020年のPHPTechCafeアーカイブはこちら
- [12月開催分:PHPerのための「Laravel/PHP8/Dockerで開発環境作りを語り合う」TechCafe ](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/H1NeB2asD)
- [11月開催分:PHPerによるPHPerのための「Laravel8を中心に語り合う」TechCafe](https://hackmd.io/@S051_ovFTzmLW3plu6ehiw/BkiwDx9IP)
- [10月開催分:PHPerによるPHPerのための「PHPのニュースや記事を語り合う」TechCafe](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/SkqQKTWLw)
- [9月開催分:PHPerによるPHPerのための「『PHP8』のニュースや記事を語り合う」TechCafe](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/Hk5oOkp4w)
- [8月開催分:PHPerによるPHPerのための「PHPニュース他まとめ」TechCafe](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/BykwakdfD)
- [7月開催分:PHPerによるPHPerのための「PHPニュース他まとめ」TechCafe ](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/S1i5W09Jv)
- [6月開催分:PHPerによるPHPerのための「PHPニュース他まとめ」TechCafe](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/SkzeMkB38)
- [5月開催分:PHPerによるPHPerのための「PHPニュース他まとめ」TechCafe](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/SJJfl8HtL)
1月:オフラインで細々と開催
2月:コロナ禍に直面、オフライン型のイベント開催の自粛により中止
3月、4月:自粛中
5月:オンライン開催のスタート
6月~8月:PHP関連の話題を広く取り扱う
9月、10月:「PHP8」のリリースに合わせてPHP8の新機能ネタ
11月:Laravel8のリリースに合わせてLaravel8の新機能ネタ
12月:PHPの開発環境まわりのネタ
## 2020年盛り上がったテーマを抜粋 〜 徐々に2021年へ
- [PHP8リリース](https://www.php.net/releases/8.0/ja.php)
- [マイグレーションガイド](https://www.php.net/manual/ja/migration80.php)
- ちなみに、PHPのドキュメントがSVNからGitに移行し、githubにミラーが作られたそうです
- https://github.com/php/doc-ja
- ドキュメントの修正などはここにPRを送ると良いようですよ
- 主催メンバーが選ぶ最も注目のPHP8新機能は?
- 満場一致で「名前付き引数」
- 他の出演者のみなさん、参加者のみなさんは?
- ???
- [Laravel8リリース](https://laravel.com/docs/8.x/releases#laravel-8)
- 主催メンバーが選ぶ最も注目のLaravel8新機能は?
- Migration Squashing(肥大化したマイグレーションをダンプファイルに吐き出せる)
- [Model Factory Classes](https://readouble.com/laravel/8.x/ja/database-testing.html#persisting-models)
- [TailwindCSS](https://tailwindcss.com/)が標準になった
- https://adamwathan.me/css-utility-classes-and-separation-of-concerns/
- 他の出演者のみなさん、参加者のみなさんは?
- ???
- Laravel + Docker環境構築
- 昨年紹介したものは[こちら](https://hackmd.io/@hrxVDayfRGeTR-1JBV3QLA/H1NeB2asD#Laravel)
- この中で、リリースされたばかりでよくわからなかった「[LaravelSail](https://laravel.com/docs/8.x/sail)」について今回はピックアップしてご紹介
- [Laravel公式のDocker環境](https://readouble.com/laravel/8.x/ja/sail.html)
- Vesselをベースに作成している
- Vesselコマンドとをsailコマンドに置き換えただけ感あるほどそのまま
- Laravelを利用する上での最低限の環境がデフォルトで設定されている
- `PHP` `redis` `MySQL` のコンテナが立ち上がる
- コンテナ上に環境が構築されるためOS関係なく利用できる
- WindowsもWSL2の登場により利用可能
- DBをMySQLからPostgreSQLに切り替える場合などは`docker-compose.yml`を更新したり、LaravelSailの設定ファイルを更新したりする必要がある
- https://github.com/laravel/sail/pull/28
- 最近マージされた?!
- コミットログ
- https://github.com/laravel/sail/pull/28/commits/9f4816ffb6370e12150882ee56f8d931b5f87b50
- issue
- https://github.com/laravel/sail/pull/28
- もう少し議論続いてるみたいですが、PostgreSQLへの更新方法紹介
- `composer.json` に記載されている `laravel sail` のバージョンを `1.2` に更新(1/19 にタグ付けされると思われる)
- `composer update` 実行
- `php artisan sail:install` で `docker-compose.yml` を更新
- sail 用の `docker-compose.yml` が更新され `PostgreSQL` のブロックが追加される
- `docker-compose.yml` に記載されている `MySQL` の部分を `PostgreSQL` に置き換える
- `./vendor/bin/sail up` で `PostgreSQL` が立ち上がる
- `.env` の更新をお忘れなく
- `MySQL` のコンテナが不要になったら `./vendor/bin/sail up --remove-orphans` で起動すれば不要なものを削除してから起動してくれる
- 二回目以降は入力不要
- PHP8.1
- PHPの進化は!!!終わらねェ!!!
- どんどん注目のRFCが提出されています。
- https://wiki.php.net/rfc
- [Enumerations](https://wiki.php.net/rfc/enumerations)
- PHP史上N回目のEnum提案(私が知る限り4回目)
- 過去の提案は議論が煮詰まる前に自然消滅してたようだが、今回は2スレ目突入中で期待大
- https://externals.io/message/112417
- https://externals.io/message/112626
- [Fibers](https://wiki.php.net/rfc/fibers)
- PHPで非同期処理を実現する仕組みの提案
- [Short Functions](https://wiki.php.net/rfc/short-functions)
# みなさま、本年もよろしくお願いいたします!