てきとうなさいと べぇたばん

闇PHP勉強会に参加してきて、PHPの闇の部分に触れてきました

闇PHP勉強会

@hamacoさんに教えてもらって、コワーキングスペース茅場町 co-edoに行ってきました。闇PHPとは、PHPのソースコードやextensionの話を共有する会です。

スライド

OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた

@hnwさん。OPcacheのコードキャッシュをファイルに保存する機能がPHP7より実装されました。

OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた from Yoshio Hanawa

PHP7のコード漁ってたら、どうやらこの部分。

SQLite2と3のエスケープ関数の違いとその対策

@noldorinfoさん。SQLite2とSQLite3とでちがう挙動を起こす上での闇。

SQLite2と3のエスケープ関数の違いとその対策 from Akishige TAKEKOSHI

KinoWikiの作者の方。SQLiteが2から3へ上がるときに引っかかった模様。

astの話

@do_akiさん。PHP7より導入されたASTを視覚化。構文解析後に構文木であるASTを作成することで、技巧的なコードの排除、技術的に困難だった文法を扱えるようになることや、構文木からのopcode最適化もできるようになる。

php7's ast from do_aki

php-mecabをPHP7に対応させた話

@rskyさん。php-mecabをPHP7に対応させるというお話。

PHP拡張のPHP5=>7対応

@yoyaさん。Flashの動的バイナリ改変のための拡張を、PHP7に対応させた。SWFEditor(スウィーフエディター)では、PHPとCとの受け渡しをphp_swfed.cで行い、具体的な振る舞いをswf_object.cなどのライブラリにまとめることで、PHP7用のバイナリを簡単に用意出来た。ぼく、すごいと思ったけど、@do_akiさんが、「そういう手があったか〜」って言ってたのが印象的。

Zend Framework 3 と Zend Expressive の話

@strysdさん。Zend Framework 3とZend Expressiveの話。Zend Frameworkわけわからんが、改善されるぞとなって、楽しみ。

Zend framework 3 と zend expressive の話 from Satoru Yoshida

懇親会

色々な話を聞かせてもらって楽しかったです。しかし。

どうやら、「EUC-JPとして認識させたかったら先頭に「美乳」と書く」という話をしたり、MySQLに昔あった「skip-character-set-client-handshake」とかの部分の話してたり、MyISAMしかなかった頃にはトランザクションなくて、「当時はポスグレでしょ」とか、「ガラケー(当時はそんな言葉すらなかった)の絵文字変換テーブル作ってたなー」とかそんなんばっかはなししてたら「あんたいくつだよ!」っていう。

ぼくとしては、「PHPからどうやって動いているのかなーって言うのを調べてたら、字句解析があって、構文解析があって、コードコンパイルしてから実行っていうのがわかったから、インタプリタを作った」って話ができて嬉しかったし、「Unicodeどうなるだよ」とかいうPHPというよりもUnicodeの闇まで話ができて嬉しかったです。

何はともあれありがとうございました。また行きたいです!

PHP7せっかくだからコンパイルしたぜ。