👻

PHP7,8の追加機能整理

2022/06/18に公開

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

PHP: 新機能 - Manual

  • スカラー型宣言
  • 戻り値の型宣言
  • null合体演算子
  • ジェネレータの機能拡張

7.1

PHP: 新機能 - Manual

  • nullableな型
  • void型
  • 配列の分割受け取り
  • クラス定数のアクセサ指定
  • iterable型
  • 複数の例外のcatch
  • 文字列の負のオフセット

7.2

PHP: 新機能 - Manual

  • object型
  • 抽象メソッドのオーバーライド
  • 引数の型について継承側などで省略することを可能に

7.3

PHP: 新機能 - Manual

  • php-fpmのロギングオプション追加
  • マルチバイト文字列関数の改善

7.4

PHP: 新機能 - Manual

  • 型付きプロパティ
  • アロー関数
  • 戻り値や引数の型を継承時などに拡張可能に
  • null合体代入演算子:nullでなかった場合に代入

まとめ

8.xで積極的に取り入れていきたいと思ったもの。

  • ENUM型
  • 引数デフォルト値でnew可能
  • Union型
  • Mixed型
  • nullsafe演算子
GitHubで編集を提案

Discussion