変更された関数
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 オブジェクトが使えるようになりました。