02 PHP 8.5にて、配列の先頭・末尾の値を取得する array_first / array_last が導入されました。内部ポインタを操作せず、直感的に値をシュッと取得できる便利関数です。
実はPHP7.3にも、似た機能を持つ array_value_first / array_value_last というRFCが存在し、否決されていた事実をご存知でしょうか。
当時は配列の先頭・末尾のキーを取得する array_key_first / array_key_last のみが採用され、 array_value_first / array_value_last は見送られました。
PHP7.3だった時代に比べ、現代は readonly プロパティの普及により内部ポインタ操作の副作用ができなくなったことや、冗長な記述の蔓延など、array_first / array_last を必要とする理由があります。
本LTでは、array_first / array_lastの紹介に留まらず、array_value_first / array_value_lastのRFCが否決された背景や理由と、今回array_first / array_lastのRFCが可決された背景や理由を比較・解説します。
新機能だけでなく、歴史的経緯についても学べる5分間をお届けします。
荒巻拓哉 PHPUnitは毎年新しいメジャーバージョンがリリースされ、どんどんと変化を遂げています。
新機能や改善が取り入れられるスピードが速い一方、古いメソッドや機能の非推奨化・削除もどんどん行われます。
実際にPHPUnit 11のChangeLogを見てみると、Deprecatedが19件、Removedが25件もあります。
私たちのチームではPHPUnit 9を使っていたのですが、9から11へのバージョンアップには広範囲の修正が必要になる変更もあり、なかなか実行に踏み切れませんでした。
そこで、コードの変更を自動で行ってくれるツール "Rector" を採用し、手動での変更を極力減らしてPHPUnitのバージョンアップを行いました。
このトークでは、Rectorを用いたPHPUnitバージョンアップの実体験に基づき、以下のことをお話しします。
きんじょうひでき 昔は3つくらいのGitクライアントを併用していた私も、今ではほとんどの操作をPhpStorm上で完結するようになりました!
などなど、便利なポイントを思い出そうとすると、枚挙に暇がありません!
普段の作業の効率を高める、PhpStormを使ったGit操作の便利な活用術を紹介します。
だいすけ 「Circuit Breaker」
「BFF」
「Active Record」……
エンジニア界隈に飛び交う横文字や「〇〇パターン」という言葉に、苦手意識を持っていませんか?
「言葉を知らなくてもコードは書ける」「難しい言葉を使うとマウントだと思われる」と、あえて用語を避けてきた方も多いかもしれません 。
しかし、AIによるコーディング支援が当たり前になった今、これらの「技術用語」は、AIに対する「高圧縮で高精度なプロンプト」として極めて重要な役割を果たします。
本LTでは、教科書から入る退屈な学習法ではなく、AIを使って「今書いている自分のコード」から技術用語を学ぶ、実践的なアプローチを紹介します。
開発をもっと楽しく、創造的にするための新しい学習スタイルを提案します 。
きんじょうひでき 「PHPUnitの機能強化と改善の様子を眺めてることで、PHPの進化の軌跡を感じ取ってみよう!」というLTです。
最近のPHPUnitは、(大体)年次でメジャーバージョンアップを行っています。
そして、最近のPHPも年次でマイナー/メジャーバージョンアップを行っています。
PHPUnitを見ていると「より良いテストを、より誰が使っても誤用されずに書けるように」と進化しているような意思が感じられ、
またPHPも「よりエレガントなコードを、安全に書けるように」と進化しているようなエネルギーを感じます。
そんな訳で、PHPUnitには、PHPの「新機能への対応」「新機能の利用」を積極的に取り入れているな!!と感心させられる場面がしばしば。
例えば、少し前に入った「ネイティブのEnumが使えるようになったので、 assertEqualsでEnum同士の比較を通せるようにする」なんて機能追加は分かりやすいでしょう。
数多くの進化を遂げてきたPHP。
PHPユーザーのためのPHP製ツールであるPHPUnitの進化から、PHPのパワーを発見しましょう。
▼ このLTで得られるもの