私の経験レベル: C に非常に慣れている、PHP の初心者、Zend Engine に不慣れで非常にイライラしている (ドキュメントはありませんか?)
私は最初の PHP 拡張機能を作成しようとしていますが、次のことが可能かどうか疑問に思っています。
私の目標を示すPHPコード:
class MyClass
{
public function foo($bar)
{
(stuff that runs extremely slowly in PHP)
return "result";
}
}
$a = new MyClass();
echo "Watch how slow this is: ", $a->foo();
tell_my_custom_php_extension_to_replace_foo_with_my_reimplementation_of_foo_in_c("MyClass");
echo "Wow, now it's wonderfully fast! See: ", $a->foo();
また、拡張機能によって公開された関数を呼び出すように foo を書き直すこともできますが、それは私にとって興味深いことではありません。上記の例 (PHP クラスが拡張機能を認識せず、連携しない) が可能かどうかを知りたいだけです。