php-master-changes 2018-09-26

今日はバグ修正、Reflection のコード整理、7.2 系の作業対象バージョンを 7.2.12 へ、petk が今日もコードをお掃除、dmitry が ext/opcache の最適化、みたいな感じ！

[型付プロパティ](https://wiki.php.net/rfc/typed_properties_v2)受理されたなー

# 2018-09-26
## sgolemon: Fixed bug [#76918](https://bugs.php.net/bug.php?id=76918) Repeated parameter name in arg info
- https://github.com/php/php-src/commit/b5d0eb44c0c1a452a82054e860e8c6a9420ac5df
- [7.1~]
- ext/hash の [hash_update_function()](http://php.net/manual/ja/function.hash-update-file.php) の引数を Reflection でとる際、[$context が 2 回出てくる](https://3v4l.org/Xb0V7)問題を修正
- [ZEND_ARG_INFO](https://phpinternals.net/categories/zend_parameter_parsing#specifying-argument-information) とかはこういう風に Reflection で引数情報とる際に使われる奴で、間違ってても通常の使用ではわりと動いたりする（他の PHP 拡張でも間違ってたので直しました系の話をたまに見る）

## nikic: Reformat macros in php_reflection.c
- https://github.com/php/php-src/commit/45bb95c03667ed61e3cdaa682b20294d27c21c6e
- ext/reflection の php_reflection.c のマクロを整形

## nikic: Remove unused "dummy" member in reflection_object
- https://github.com/php/php-src/commit/74ade095dbd3093e5091a9b6f8fb9f9f476bffe6
- ext/reflection の reflection_object にあった使われていない dummy メンバを削除
- こういうの ABI としてどこまで担保されるのかなー、と思ったけど、master にだけ入ってるの考えるとそういうノリということなのかな

## petk: Remove unused ext/enchant/tests files
- https://github.com/php/php-src/commit/981e5e17fa8111bf11fce7316bf8986aec67da8c
- ext/enchant/tests 以下の使われていないファイルを削除

## sgolemon: Bump version
- https://github.com/php/php-src/commit/5f29e3fb6e3049c2c020ee05e71460ee238ab040
- [7.2~]
- 7.2 系の作業対象バージョンを上げた

## petk: Remove unused ext/exif/tests/test6.jpg
- https://github.com/php/php-src/commit/e3293ad35d2e6a17ff0110de6571f8f9ecd15192
- ext/exif の tests にあった使われていない画像ファイルを削除
- [magic_quotes のサポートを無くした際に消した](https://github.com/php/php-src/commit/cc1c7af0375db5b7ad2c7752569b925cc3372377#diff-d34373df45cb63da370afa1f7c0fbf4a)テストコードで使われていたファイルのもよう

## petk: Make ext/session/mod_files.sh executable
- https://github.com/php/php-src/commit/ab1ce6058a4a3ee9aa9785b97046393dabad66ca
- [ext/session/mod_files.sh](http://php.net/manual/ja/session.configuration.php#ini.session.save-path) に実行許可のパーミッションをつけた
- こんなスクリプトあったのかー感がある（今までお世話になったことがない）

## petk: Remove unused files
- https://github.com/php/php-src/commit/c951836721e87848df256c6196f94f4d82acbd73
- 使われていないファイルを色々削除
- [simpletext私はガラスを食べられます.jpg](https://github.com/php/php-src/blob/ab1ce6058a4a3ee9aa9785b97046393dabad66ca/ext/gd/tests/simpletext%E7%A7%81%E3%81%AF%E3%82%AC%E3%83%A9%E3%82%B9%E3%82%92%E9%A3%9F%E3%81%B9%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99.jpg) の力強さ
- [インターネットミーム](https://en.wikipedia.org/wiki/I_Can_Eat_Glass)で i18n の文脈でいくらか使われてるっぽいのかな、14 年くらい前に各言語で変に見えるようあえて作られたフレーズが、今ここ日本の俺の家でもちゃんと変に見えてる（？）

## petk: Remove outdated OOP examples Zend/tests/zend2.php.txt
- https://github.com/php/php-src/commit/8e430d7e486be54938e97f40b6c5cdf3055f24e1
- ZendEngine2 の OOP はこんなだよ！みたいな古いファイルを削除（もう PHP マニュアルでいいでしょ！みたいな）

## petk: Remove outdated ext/ctype/ctpye.xml reference document
- https://github.com/php/php-src/commit/8c28985caef644e43e860b11a666b18f19697543
- ext/ctype の ctype.xml という、初期の実装時に追加されたものの使われなくなっていたファイルを削除

## petk: [ci skip] Mention php_pdo_mysql_sqlstate.h in the contributing info
- https://github.com/php/php-src/commit/41ac1d492ced07ad42a8ac21eea6d4bb62bc4f41
- CONTRIBUTING.md に自動生成ファイル pdo_mysql/php_pdo_mysql_sqlstate.h への言及を追加

## dstogov: Avoid useless store and checks in xlat_table.
- https://github.com/php/php-src/commit/3a3840a8473f4d802f4264909278969f0a828e8f
- ext/opcache の不要な xlat_table アクセスの除去
- opcache はアイテムが共有メモリ上にコピーされてるかどうかを追う用に、各プロセスで xlat_table というハッシュテーブルを持ってる[みたい](https://grokbase.com/t/php/php-internals/146r738y0g/q-how-to-handle-zend-op-array-scope-and-zend-op-array-prototype-in-opcode-cache)