php-master-changes 2019-06-05

この日は README.md への Azure Pipelines のバッジ追加、arg_info の返り値型情報の追加、テストの修正、Mac でのビルドの修正、--with-unixODB でディレクトリ指定も受け付けるようにする修正、mysqli\_connect() の各引数の nullable 化、\_\_toString() で例外を投げられるようにする RFC の実装、array\_splice() が常に配列を返すようにする修正、ReflectionType::__toString() の非推奨化、ZEND_ASSIGN_OP_*_STATIC_PROP の特化ハンドラを生成しないようにする修正があった！

# 2019-06-05
## krakjoe: add azure pipelines badge to readme [ci skip]
- https://github.com/php/php-src/commit/cb9bb146d96e822db8bf0f84b3acf1132551250e
- [7.4~]
- プロジェクトの README.md に、Azure Pipelines のバッジを追加

## carusogabriel: Add return type to some array_* functions
- https://github.com/php/php-src/commit/192170a39ad73539a1bbda374e17cdf502e99885
- array_*() いくつかに arg_info で返り値型情報の追加

## nikic: Avoid concurrent directory writes in FilesystemIterator test
- https://github.com/php/php-src/commit/46d5a9bef9d4da8c845506beba492134a133851a
- ext/spl で、FilesystemIterator のテストでの並列実行対策
- ディレクトリ列挙中に他ファイルが一時ファイルを作ったりするのを考慮して 1 つ上のディレクトリを見るようにしてる

## petk: Fixed bug [#78102](https://bugs.php.net/bug.php?id=78102)
- https://github.com/php/php-src/commit/ac9ce0f895c285a01052eae6accc37ece25090fa
- [7.4~]
- Mac の make のバージョンが古くてビルドできなかったのを修正

## remicollet: keep DIR option to --with-unixODBC for old versions without libodbc.pc
- https://github.com/php/php-src/commit/8f854c109927019192721a890ed7f201db1e2f87
- [7.4~]
- ext/odbc で、--with-unixODB は[以前 pkg-config へ移行](https://qiita.com/sj-i/items/2f1c3ec7e6258c840be7#hughmcmaster-use-pkg_check_modules-to-detect-unixodbc)したが、libodbc.pc が無い古いバージョン用にディレクトリ指定も受け付けるよう修正

## nikic: Make mysqli_connect arguments explicitly nullable
- https://github.com/php/php-src/commit/9cf6a5413a563b0c174a6cb4974bfd0795ce43e4
- [7.4~]
- ext/mysqli で、[mysqli_connect()](https://www.php.net/manual/ja/function.mysqli-connect.php) の各引数を nullable と明示
- strict_types=1 だと null 渡した時 TypeError になってたのを null 渡してデフォルト値指定、ができるようにした形かな

## remicollet: ignore first gets time which is usually a few ms only
- https://github.com/php/php-src/commit/a0ce1df024c3351f9859215356268a85ae94c2f7
- [7.4~]
- テストの期待出力でマシンの実行速度によりこけたりこけなかったりする部分があったのを修正

## nikic: Use zero port in socket_(export|import)_stream-5.phpt
- https://github.com/php/php-src/commit/528aa7932a839fc6319979c34aa372805d8dc41c
- [7.4~]
- ext/sockets で、socket_(export|import)_stream-5.phpt のテストでポート 0 を使うよう修正

## nikic: Allow exceptions in __toString()
- https://github.com/php/php-src/commit/a31f46421d7bf6f55dd9ac5876b8e2eacf7e0708
- [7.4~]
- [__toString()](https://www.php.net/manual/ja/language.oop5.magic.php#object.tostring) で例外を投げられるようにする [RFC](https://wiki.php.net/rfc/tostring_exceptions) の実装マージ
- 42:0 で可決されていた

## nikic: Make sure array_splice() always returns an array
- https://github.com/php/php-src/commit/d3ed9d819297b6d9cf52f9d1c68ec64608d60aa7
- [array_splice()](https://www.php.net/manual/ja/function.array-splice.php) が常に配列を返すよう修正
- 以前は null を返すケースがあった

## nikic: Deprecate ReflectionType::__toString()
- https://github.com/php/php-src/commit/b964298c19c685f61542bbf30c49bd164b67c653
- [7.4~]
- ext/reflection で、[ReflectionType::__toString()](https://www.php.net/manual/en/reflectiontype.tostring.php) を非推奨化
- ドキュメントでは 7.1 時点ですでに非推奨化されていたが、__toString() で例外を投げられなかったので実際に非推奨の警告を出せなかった

## krakjoe: fix flaky posix test
- https://github.com/php/php-src/commit/f4474e57244dfcc52f278227fd9f03fd84f04167
- [7.2~]
- ext/posix で、posix_kill() の pid エラーの挙動テストがすげー変だったのを修正
- 10000 から ps コマンド呼びながら無い pid 引くまで探すような奴だった

## dstogov: Prevent generation of specialized ZEND_ASSIGN_OP_..._STATIC_PROP handlers, that call unspecialized helper, anyway.
- https://github.com/php/php-src/commit/3f4dfe1877c8c0b01153193b7090674b1c689889
- [7.4~]
- ZEND_ASSIGN_OP_*_STATIC_PROP の特化ハンドラを生成しないよう修正