SubscribePHP7から予約語がメソッド名として使えるようになっていた件2016/01/17ツイートPHPで”echo”とか”list”という名前のメソッドを作って文法エラーになった経験はないでしょうか?ほとんど知られていないのですが、実はPHP7からは”echo”,“list”などの予約語がメソッド名として使えるんです。a.phplistechodieMyClass::new()とかできる面白いことに、newという名前のクラスメソッドを作れたりします。}おかげでPerlと同じ言語仕様になりましたね!なぜ使えるのか?公式マニュアルを見ると、listやechoなどは関数名として使えないと明記されています。関数名として使用することはできません。仕様では使えないはずのものが使えている状態です。RFCが可決されていた実はこの新仕様はRFCが提出されており、ステータスが「PHP7.0で実装済み」となっています。Reqeustの方を見るとマージ済みになっていてラベルが”PHP7.1”となっています。https://github.com/php/php-src/pull/1221/つまりPHP7.1で公式の言語仕様として採用されるものと思われます。公式マニュアルの隅っこにちゃんと書いてあった実は付録のページにちゃんと書いてありました。PHP7.0の新機能のようです。(はてブコメントでt-cyrillさんに教えていただきました。ありがとうございました。プロパティや定数そしてメソッドの名前にグローバルな予約語を使えるようになりました。これで、今後新たなキーワードが導入された場合でも下位互換性を維持しやすくなります。命名の制約も軽減できるでしょう。作る際などに便利です。キーワードで、このキーワードを定数名として使うことはできません。衝突してしまうからです。個人的にこの仕様変更はとてもうれしいので大歓迎です。