👻
PHP7,8の追加機能整理
PHP8.xの追加機能を改めて概観したかったので整理してみた。またついでに7.xも思い出し整理した。
注意
ざっくり興味を持った点を一部ピックアップしているのみです。正確な情報はリンクしている公式リファレンスなどをご確認頂きますよう。
8.x
8.0
PHP: PHP 8.0.0 Release Announcement
- 名前付き引数
- アトリビュート
- Union型
- nullsafe演算子:nullを含むチェーン
- Mixed型のサポート
8.1
PHP: PHP 8.1.0 Release Announcement
- ENUM型:列挙体
- readonlyプロパティ
- 引数デフォルト値でnew可能
- 交差型
- never型:値を返さないことを示す
- Fiber:非同期処理のための基本実装
- ライブラリでの利用を想定しているとのこと
-
array_is_list()
:配列がリストかどうか判定
7.x
ついでにいろいろ忘れているっぽいので、7.xを思い出し整理。
7.0
- スカラー型宣言
- 戻り値の型宣言
- null合体演算子
- ジェネレータの機能拡張
7.1
- nullableな型
- void型
- 配列の分割受け取り
- クラス定数のアクセサ指定
- iterable型
- 複数の例外のcatch
- 文字列の負のオフセット
7.2
- object型
- 抽象メソッドのオーバーライド
- 引数の型について継承側などで省略することを可能に
7.3
- php-fpmのロギングオプション追加
- マルチバイト文字列関数の改善
7.4
- 型付きプロパティ
- アロー関数
- 戻り値や引数の型を継承時などに拡張可能に
- null合体代入演算子:nullでなかった場合に代入
まとめ
8.xで積極的に取り入れていきたいと思ったもの。
- ENUM型
- 引数デフォルト値でnew可能
- Union型
- Mixed型
- nullsafe演算子
Discussion