Iophp_iovm-070920.tgzちょーシンプルなIoバインディング。息抜きがてらにさくっと作ってみました。IoStateオブジェクトと、引数として与えられたコードを実行するdoCStringメソッドだけしかありません。本格的に作り込む時間がないので、しばらくはこのまま放置です。Ioのソースコードがあるディレクトリを指定します。installこんなふうに使います。IoObject<->zvalのブリッジは作っていませんが、IoState内でスロットに代入されたオブジェクトは生き続けます。World!\"");$io->doCString("writeln(hw)");?>同名のシンボルでもIoStateごとに独立です。ZendEngineのようにグローバル変数に状態を持っていないあたりにIoの設計の良さの一端が見えますね。\"state2\"");$io1->doCString("writeln(sym)");$io2->doCString("writeln(sym)");?>デストラクタをコールした後doCStringしようとすると例外を投げます。broken\")");?>独自のオブジェクト構造体とそのハンドラを定義するのが面倒だったのでIoStateのポインタをlongにキャストしてprivateなプロパティに持っています。TSRMLS_CC);}そんなわけでLLP64のようなポインタの大きさとlongの大きさが異なる環境では動きません。闇PHP勉強会レポートウノウの縁よみがえるQIQ月別アーカイブはてなブログをはじめよう!rskyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。