我正在为个人项目创建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