変更された関数
PHP コア
- set_error_handler() の引数に
null
を渡して呼ぶと、 エラーハンドラをリセットできるようになりました。 -
null
を渡して呼んだ場合の set_error_handler() と set_exception_handler() の返り値は、 それぞれ以前のエラーハンドラと例外ハンドラになります。 - json_encode() に
depth
パラメータを渡せるようになりました。 - pack() と unpack() で "a" や "A" を使ったときの挙動が変わりました。 詳細はこちらを参照ください。
intl
- MessageFormatter::format() とその関連関数で、 名前付き引数に対応しました。数値引数との混在も可能です。 これは、PHP を ICU 4.8 以降とリンクした場合に有効になります。
- MessageFormatter::format() とその関連関数で、 引数の数を間違えた場合にエラーが発生しなくなりました。 ただし、プレースホルダの置換は行われません。
- MessageFormatter::format() と MessageFormatter::parse() で時刻を扱うときに、 秒単位の精度に縛られなくなりました。
- IntlDateFormatter::__construct() と datefmt_create() の
timezone
引数で IntlTimeZone や DateTimeZone のオブジェクトが使えるようになり、同じくcalendar
引数で IntlCalendar オブジェクトが使えるようになりました。 さらに、タイムゾーンが省略されていてcalendar
でタイムゾーンが指定されていない場合は、ICU のデフォルトタイムゾーンではなく PHP のデフォルトタイムゾーン (date_default_timezone_get() の返す値) を使うようになりました。 - IntlDateFormatter オブジェクトを作るときに IntlDateFormatter の定数ではなく IntlCalendar のインスタンスを使った場合に、 IntlDateFormatter::getCalendar() と datefmt_get_calendar() が false を返すようになりました。
- IntlDateFormatter::setCalendar() と datefmt_set_calendar() で、 IntlDateFormatter の定数以外に IntlCalendar オブジェクトも受け付けるようになりました。
- IntlDateFormatter::format() と datefmt_format() で IntlCalendar オブジェクトが使えるようになりました。