Msgpack の PECL(The PHP Extension Community Library) 実装*1を作るに当たって、とりあえず PECL な拡張モジュールの実装がどんなものかをざっと見てみようかと思う。本当ならば、拡張モジュール開発者向けの公式の資料などを見るべきなのだろうが、ちょっとググっただけでは日本語資料は無いようであるし、いい機会なので他人のソースコードを眺めてみるとする。 ちなみに、筆者は Zend Engine についてや C 言語についてはあまり経験や知識もない上、Zend API などの仕様書をろくに読まずに*2エントリを書いているため、エントリの内容が勘違いを含んでいる可能性は低くないことに留意してほしい。 内容 ソースコードの入手 string json_encode(mixed data) の概要 json_encode の正体 いろいろな中身の zva