余談1: Gener i cs
Generics
1 .
言語に取り入れるRFCが実はあるが、動いてない
a.
https://wiki.php.net/rfc/generics (Draft)
i .
https://github.com/PHPGenerics/php-
generics-rfc/issues/45
ii .
https://github.com/nikic/php-src/pull/3
iii .
phpstanやmrsuh/php-genericsといったライブラリで
現在は取り入れられていることが多いですよね!
b.
2 .
Slide 88
Slide 88 text
余談2: まだまだPHPの型の怪しいところ
型の相互変換(TypeJuggling)
型の機能自体が 値の型そのものを見ているわけではなく、
値の内容が目的の型に変換できるかどうかでみている
a.
受け入れられると型変換されると言った性質を持つ部分が
あるため、このようなことが結構おきる
b.
日本に来てGina Peter Banyard(Girgias)さんがLTをし
てくださった際にもTypeJugglingには言及されていて、
安全に型が使えるようにRFCを出してくださることが多い
c .
swisskyrepo/PayloadsAllTheThings にも例がある
d.