闇PHP勉強会に参加してきて、PHPの闇の部分に触れてきました
TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > 闇PHP勉強会に参加してきて、PHPの闇の部分に触れてきました
闇PHP勉強会
@hamacoさんに教えてもらって、コワーキングスペース茅場町 co-edoに行ってきました。闇PHPとは、PHPのソースコードやextensionの話を共有する会です。
闇PHP勉強会にきてる。Cが出てきてもなかないのが条件(ニコッ
— てきめん (@youkidearitai) November 22, 2015
スライド
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
@hnwさん。OPcacheのコードキャッシュをファイルに保存する機能がPHP7より実装されました。
PHP7のコード漁ってたら、どうやらこの部分。
@youkidearitai ext/opcache/zend_file_cache.c
— てきめん (@youkidearitai) November 22, 2015
SQLite2と3のエスケープ関数の違いとその対策
@noldorinfoさん。SQLite2とSQLite3とでちがう挙動を起こす上での闇。
KinoWikiの作者の方。SQLiteが2から3へ上がるときに引っかかった模様。
そうだったのか…セキュリティ上の影響はどうだろうか? / “SQLite2と3のエスケープ関数の違いとその対策” https://t.co/tn5t9KqLRc
— 徳丸 浩 (@ockeghem) November 22, 2015
astの話
@do_akiさん。PHP7より導入されたASTを視覚化。構文解析後に構文木であるASTを作成することで、技巧的なコードの排除、技術的に困難だった文法を扱えるようになることや、構文木からのopcode最適化もできるようになる。
@youkidearitai Zend/zend_ast.h or zend_ast.c
— てきめん (@youkidearitai) 2015, 11月 22
php-mecabをPHP7に対応させた話
@rskyさん。php-mecabをPHP7に対応させるというお話。
@youkidearitai PHP5用コードとPHP7コードとの共存は”ムリ”。なので、ブランチ分けよう。
— てきめん (@youkidearitai) 2015, 11月 22
@youkidearitai
https://t.co/EBaTcupbn1
— てきめん (@youkidearitai) 2015, 11月 22
@youkidearitai xdebugは、PHP5と7との共存ができるてるとのこと。すげぇ
— てきめん (@youkidearitai) 2015, 11月 22
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わけわからんが、改善されるぞとなって、楽しみ。
懇親会
色々な話を聞かせてもらって楽しかったです。しかし。
ぼく27さい、闇PHP勉強会でサバ読んでる疑惑が発生する
— てきめん (@youkidearitai) 2015, 11月 22
MySQLで昔は--default-character-set=latin1で保存してるのが大半で、文字化けで苦労した話しとか、MyISAMだった昔はトランザクションなかったとか話ししてたら。
— てきめん (@youkidearitai) 2015, 11月 22
どうやら、「EUC-JPとして認識させたかったら先頭に「美乳」と書く」という話をしたり、MySQLに昔あった「skip-character-set-client-handshake」とかの部分の話してたり、MyISAMしかなかった頃にはトランザクションなくて、「当時はポスグレでしょ」とか、「ガラケー(当時はそんな言葉すらなかった)の絵文字変換テーブル作ってたなー」とかそんなんばっかはなししてたら「あんたいくつだよ!」っていう。
ぼくとしては、「PHPからどうやって動いているのかなーって言うのを調べてたら、字句解析があって、構文解析があって、コードコンパイルしてから実行っていうのがわかったから、インタプリタを作った」って話ができて嬉しかったし、「Unicodeどうなるだよ」とかいうPHPというよりもUnicodeの闇まで話ができて嬉しかったです。
何はともあれありがとうございました。また行きたいです!
$ sapi/cli/php --version
PHP 7.0.0RC7 (cli) (built: Nov 23 2015 00:32:53) ( NTS DEBUG )
— てきめん (@youkidearitai) 2015, 11月 22
PHP7せっかくだからコンパイルしたぜ。