# 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) # みなさま、本年もよろしくお願いいたします!