|
新機能
定数式
数値や文字列リテラルと定数を、これまでのバージョンでは静的な値が想定されていた場面
(定数やプロパティの宣言、関数のデフォルト引数など)
で、スカラー式として扱えるようになりました。
配列も、
const キーワードで定数として定義できるようになりました。
... による可変個引数関数
可変個引数の関数
の実装に ... 演算子が使えるようになり、
func_get_args を使わずに済むようになりました。
... による引数のアンパック
配列 や
Traversable オブジェクトを引数リストにアンパックするために、
関数の呼び出し時に ... 演算子が使えるようになりました。
これは、Ruby などの他の言語では splat 演算子と呼ばれることもあります。
累乗演算子 **
右から評価する ** 演算子が追加されました。
これは累乗をサポートするものです。さらに、短縮代入演算子
**= も追加されました。
use function および use const
The
use
演算子を拡張し、クラスだけではなく関数や定数もインポートできるようになりました。
それぞれ、言語構造
use function および use const
を用います。
phpdbg
PHP は、今や SAPI モジュールとして実装された phpdbg という対話型デバッガーを含みます。
詳細な情報は
» phpdbg のドキュメント
を参照ください。
デフォルトの文字エンコーディング
エンコーディングに依存する関数
htmlentities や
html_entity_decode そして
htmlspecialchars
におけるデフォルトの文字セットとして、
default_charset を利用するようになりました。
iconv (非推奨) や mbstring でのエンコードが設定されている場合は、
default_charset よりもそちらのほうが優先されます。
この設定のデフォルト値は UTF-8 です。
巨大なファイルのアップロード
2 ギガバイトより大きいサイズのファイルもアップロードできるようになりました。
GMP での演算子オーバーロードのサポート
GMP オブジェクトが、
演算子のオーバーロードやスカラー型へのキャストに対応するようになりました。
GMP を使って、よりわかりやすいコードが書けるようになります。
hash_equals による、タイミング攻撃に対応した文字列比較
hash_equals 関数が追加されました。
この関数は、二つの文字列の比較を一定の時間で行います。
タイミング攻撃を防ぐために、文字列の比較にはこの関数を使うべきです。
たとえば crypt のパスワードハッシュをチェックしたりするときに使えます
(password_hash や
password_verify が使えない場合を想定。
これらの関数は、タイミング攻撃の影響を受けません)。
__debugInfo()
マジックメソッド __debugInfo()
が追加されました。
var_dump でオブジェクトの情報を出力する際の、
プロパティやその値の表示方法を変更できます。
gost-crypto ハッシュアルゴリズム
ハッシュアルゴリズム gost-crypto が追加されました。
これは GOST ハッシュ関数を実装したもので、
» RFC 4357, section 11.2
に記載されている CryptoPro S-box テーブルを使っています。
pgsql 拡張モジュールが、
非同期の接続や問い合わせに対応しました。
PostgreSQL データベースとのやりとりで、ノンブロッキング処理ができるようになります。
非同期接続を確立するには、定数
PGSQL_CONNECT_ASYNC を利用します。そして、新しい関数
pg_connect_poll、pg_socket、
pg_consume_input、pg_flush
を使って、非同期接続や問い合わせを処理します。
|