我正在爲個人項目創建a PHP extension。除了什麼是上述文章中鏈接的人,我沒有zend_engine的知識,我的C技能在10年以後的日期,並且是隻有永遠的學術。所有這些都是說「如果我好像在問一個愚蠢的問題,我可能就是」。從分機返回「原生」PHP對象
是否有可能在我自己的擴展中調用來自其他PHP擴展的函數,或者每個PHP擴展都被視爲一個孤島,而沒有深入瞭解系統的其他部分?如果這是可能的,這是常見做法還是壞主意?
也就是說,我知道我可以返回一個像這樣的字符串。
PHP_FUNCTION(hello_world)
{
char *str;
str = estrdup("Hello World");
RETURN_STRING(str, 0);
}
我希望能夠返回,例如,一個SimpleXML元素或一個DomDocument元素。谷歌搜索已被證明是困難的,因爲關於擴展開發沒有太多的時間,並且標準的PHP使用量有很多。
不錯的問題;如果Zend文檔沒有說明這一點,我會很驚訝。 – 2012-03-19 16:37:00
@KerrekSB這是一個很好的RTFM :)。如果你(或任何人)知道一個很好的概述這個zend文檔,並且不承擔5年以上的擴展黑客體驗(甚至是一個),我很樂意看到它。 – 2012-03-19 16:54:38