【发布时间】:2012-04-04 03:57:24
【问题描述】:
我正在为个人项目创建a PHP extension。除了上面文章中的链接之外,我对 zend_engine 一无所知,而且我的 C 技能已经过时了 10 年,而且只是学术性的。所有这一切都是在说“如果看起来我在问一个愚蠢的问题,我可能是”。
是否可以在我自己的扩展中调用来自其他 PHP 扩展的函数,或者每个 PHP 扩展都被视为一个孤岛,对系统的其他部分没有洞察力?如果这是可能的,这是常见的做法,还是 Bad Idea™?
也就是说,我知道我可以返回这样的字符串。
PHP_FUNCTION(hello_world)
{
char *str;
str = estrdup("Hello World");
RETURN_STRING(str, 0);
}
我希望能够返回一个 SimpleXML 元素或一个 DomDocument 元素。谷歌搜索已被证明是困难的,因为没有大量关于扩展开发的内容,而且有大量关于标准 PHP 使用的内容。
【问题讨论】:
-
好问题;如果 Zend 文档没有对此有所说明,我会感到惊讶。
-
@KerrekSB 这是一个不错的 RTFM :)。如果您(或任何人)知道一份 zend 文档,该文档对此有很好的概述,并且不假设有 5 年以上的扩展黑客经验(甚至没有),我很乐意看到它。
标签: php c php-extension php-internals