QIQなどPHPの拡張とか

軽く話題になっていたみたいだけど、今更気がついた。

QIQの設計と実装

PHPというかZend Engineでは、コンパイラとエクゼキュータが関数ポインタになっており、それぞれファイルの内容から実行コードを生成する zend_comiple_file、文字列から実行コードを生成するzend_compile_string、実行コードに対応するハンドラを呼び出す zend_executeが定義されています。また、それらのデフォルト実装としてcompile_file()、compile_string()、 execute()があります。 言語としては良いか悪いかは別にして、堅くも柔らかくもない独自のポジションにあるPHPですが、コアのZend Engineはコンパイラやエグゼキュータが差し換えられたり、実行時のフックが追加できたりと、実は拡張性に富んでいるのです。でもマルチスレッドと演算子オーバーローディングだけは勘弁な!


そうなのか!これはいい!すばらしい!
そのうち今度色々触ってみたい。