php-master-changes 2019-01-29

今日はドキュメントの更新、テストの修正、PHP 8 に向けての各種非推奨化済機能の削除があった！さよなら each() と PHP4 形式のコンストラクタ

# 2019-01-29
## nikic: Add UPGRADING entries for removed functionality
- https://github.com/php/php-src/commit/97df99a6d7d96a886ac143337fecad775907589a
- 昨日削除した機能について UPGRADING に追記

## nikic: Fix session test after version bump
- https://github.com/php/php-src/commit/eeb7511f930a932cf6fb5ae40884eb50790a53ec
- ext/session で、期待出力でPHP7のバージョン表記を期待している箇所を修正

## nikic: Make special assert() handling independent of compiler flags
- https://github.com/php/php-src/commit/34898e97663084c45b71385ef886e830e023da93
- [7.2~]
- assert() の特別扱いがコンパイラフラグによらず行われるよう修正
- zend_try_compile_special_func() の呼び出しが CG(compiler_options) を見る分岐内で、その外に呼び出しを追い出してる

## nikic: Remove special treatment of strings in asserts
- https://github.com/php/php-src/commit/9bc2cacf7f97b4fc235baa29d7c8cf7604fb39c1
- [7.2 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_2#assert_with_string_argument)されていた文字列引数での assert() の特別扱い（勝手に eval するような奴）を削除

## nikic: Remove each()
- https://github.com/php/php-src/commit/6db97f5e3ea3ac9774a06981226a0fe1bca02b38
- [7.2 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_2#each)されていた each() を削除

## nikic: Remove deprecated mbregex aliases
- https://github.com/php/php-src/commit/83bc092d40671ebe8bc7c5df1ee9c4456c7baf20
- [7.3 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_3#undocumented_mbstring_function_aliases)されていた mbregex な関数エイリアスを削除

## nikic: Remove fgetss and friends
- https://github.com/php/php-src/commit/c7d7af8069246c886606501e30e6e8741e6683c2
- [7.3 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_3#fgetss_function_and_stringstrip_tags_filter)されていた [fgetss()](http://php.net/manual/ja/function.fgetss.php) 系の関数を削除

## nikic: Always treat needles as strings
- https://github.com/php/php-src/commit/c97b9aa2266736beb1ddb6fec0ec2d2af94e3a6c
- [7.3 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_3#string_search_functions_with_integer_needle)されていた文字列検索関数で needle が非文字列の場合に ASCII コードポイントとして扱う処理を削除
- PHP 8 からは常時文字列として扱われるようになる

## nikic: Remove (unset) cast
- https://github.com/php/php-src/commit/d74d3922ce6f9ea07c1226b0cb2a94fc333f7a02
- [7.2 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_2#unset_cast)されていた [`(unset)` キャスト](http://php.net/manual/en/language.types.null.php#language.types.null.casting)を削除
- わりとナンジャコリャ感あるキャストだ

## nikic: Remove FILTER_FLAG_(SCHEME|HOST)_REQUIRED
- https://github.com/php/php-src/commit/6b89dbcc5bb9ae5e4852e4b8060934e405c5e1a1
- [7.3 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_3#filter_flag_scheme_required_and_filter_flag_host_required)されていた FILTER_FLAG_SCHEME_REQUIRED と FILTER_FLAG_HOST_REQUIRED を削除

## nikic: Remove support for custom assert() function
- https://github.com/php/php-src/commit/55dbb573226cf98d77e23becfd5148f0ea93d640
- [7.3 で非推奨化](https://wiki.php.net/rfc/deprecations_php_7_3#defining_a_free-standing_assert_function)されていた assert() という名前のユーザ関数定義を禁止

## nikic: Migrate SOAP away from legacy constructors
- https://github.com/php/php-src/commit/371e4270b7e3975edb503b1f8901fac6b868cca1
- ext/soap で、各コンストラクタを PHP4 形式から __construct() へ移行

## nikic: Migrate finfo away from legacy ctor
- https://github.com/php/php-src/commit/4d8dc2b05e7126bfcd5b639ca632906f96d5ff65
- ext/fileinfo で、[finfo](http://php.net/manual/ja/class.finfo.php) のコンストラクタを PHP4 形式から __construct() へ移行

## nikic: Remove support for legacy constructors
- https://github.com/php/php-src/commit/682b54f68748715f85e9ac4a267477d9ac61918a
- [7.0 で非推奨化](https://wiki.php.net/rfc/remove_php4_constructors) されていた PHP4 形式のコンストラクタを削除
- （このくらいだと焼け石に水ではあるが）コンパイラのコードがちょっとシンプルになるのは良い

## nikic: Remove 'e' modifier for mb_ereg_replace()
- https://github.com/php/php-src/commit/52a9325328ca360b5ccf3c6efc2de3f7c53c5b58
- [7.1 で非推奨化](https://wiki.php.net/rfc/deprecate_mb_ereg_replace_eval_option)されていた [mb_ereg_replace()](http://php.net/manual/ja/function.mb-ereg-replace.php) の e 修飾子を削除