PHP の RFC として提案された "var" deprecation について、第 102 回 PHP 勉強会 の懇親会 LT で発表しました。発表資料を公開します*1。
"var" というキーワードは、PHP 4 でクラスのプロパティ定義に用いられたキーワードです*2。当時の PHP は、オブジェクト指向が導入されたものの private や static といった機能は存在していませんでした。クラスのプロパティは var を用いて次のように定義していたようです。
class Hoge { var $fuga; }
PHP 5 から private や static 等の機能が導入され、現在の PHP のような書き方ができるようになりましたが、後方互換性を維持するために var というキーワードは廃止されていません。上記のコードは、今の PHP でも正しいプログラムとして動作します*3。
さて、今回取り上げた "var" deprecation という RFC は、そろそろ var によるプロパティ定義の構文を廃止してはどうかという提案です。PHP 7.1 で「廃止予定」として移行を促し、いつか PHP 8.0 がリリースされるときに構文から削除しようというロードマップが提案されました。発表資料は、この提案に対する議論、投票結果をまとめて紹介したというものです。
RFC に対する議論は PHP の internal ML で確認できます。アーカイブが公開されており、メーリングリストを購読していなくても議論を追えるようになっています*4。時々でも眺めてみると、面白いかもしれません。
MARC: Mailing list ARChives
また、国内では Slack に phpusers-ja というグループが作られています。私も登録しているのですが、PHP ユーザの方々が日々新鮮な情報を提供してくれるので、とても重宝しています。英語圏の情報に対して一人でアンテナを張り巡らせるのはなかなか大変だと思いますので、こういったコミュニティも活用して情報を共有できるとよいのではないでしょうか。
Join PHP ユーザーズ (日本語) on Slack!