では、発表を順に紹介します。
@hnw 「OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた」
まずは僕の発表からでした。PHP7からの新機能であるOPcacheのファイルベースキャッシュについてソースコードを交えて仕組みを紹介しました。本機能について、個人的には若干ネガティブに見ていますが、今後「こういう状況では確かに便利だ」という事例が出てくれば判断も変わると思います。
@noldorinfoさん「SQLite2と3のエスケープ関数の違いとその対策」
@do_akiさん「php7's ast」
PHP7でプログラム解釈時に構築される抽象構文木(AST)を可視化してみよう、という話題でした。僕はPHP7のASTはopcode構築前に捨てられてしまい取り出せないと思っていましたが、フックポイントが用意されているので適宜ASTをコピーしておけば後から利用できる、ということでした。なかなか夢が広がる話ですね。
@rskyさん「php-mecabをPHP7に対応させた話」
自作のPHP拡張モジュールをPHP7対応にする、という話題でした。
発表の最初で「PHP5とPHP7両対応の拡張モジュール書くのは無理、ブランチ切ろう」って話題がきたのが個人的にはツボでした。実際、大半の拡張モジュール作者が同じ判断をしているようで、大抵の人が別ブランチでPHP7対応している状況です。
クラスのインスタンス化関数がPHP5ではzend_obejct_valueを返していたのがPHP7ではzend_object *になったよ、のような移行のポイントをいくつか紹介されていて、これからPHP7対応する人の参考になる内容だったと思います。
@yoyaさん「SWFEditorのPHP7対応」
こちらも自作のPHP拡張モジュールをPHP7対応にする、という話題でした。一晩でだいたい対応できたとのことで、凄いですね!
@yoyaさんも1つのソースコードでPHP5/7両対応の拡張モジュールを書くのは無理と判断したものの、autoconfでコンパイル対象ファイルを切り替えて使うことで1パッケージでのPHP5/7両対応を実現していました。これは拡張モジュール開発者が参考にすべきテクニックだと言えそうです。
PHP7になってあちこちでzvalのポインタの段数が変わった話や、zend_string化されて引数の個数があちこち変わった話など、移行時の苦労も紹介していただきました。
@rskyさんも@yoyaさんもそこそこPHP7対応に苦労したと思うんですけど、その割に﹁PHP7になって拡張モジュールが書きやすくなった﹂という意見で一致していたのは印象的でした。
@strysdさん 「Zend Framework 3 と Zend Expressive の話」
ZendCon 2015の発表を紹介するプレゼンでした。Zend Framework 3では疎結合化・高速化・ドキュメントの充実といったところを目指すということで、昨今のフレームワークの流れを取り込んでいくのかなという印象を受けました。
感想など
ちなみに、当面は半年に1回開催を目標にするつもりです。ゆっくりすぎますかね…?