2013-05-11 109 views
0

我的經驗級別的處理程序代替PHP類方法:(?沒有文件)很舒服C,新手到PHP,新和非常沮喪與Zend引擎PHP擴展與C語言編寫的

我想寫我的第一個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類是不知道的並且不與擴展配合)是否可能。

+0

$ bar是一個變量,你問你是否可以定義一個C函數來處理駐留在foo中的代碼? – DevZer0 2013-05-11 06:22:12

+0

ooops,是的,我會編輯 – 2013-05-11 06:22:59

+0

[runkit](http://php.net/manual/en/book.runkit.php)擴展可以做到這一點:http://www.php.net/manual /en/function.runkit-method-redefine.php – arnaud576875 2013-05-11 08:51:09

回答