Возврат "родных" объектов PHP из расширения

Я балуюсь созданием расширения PHPдля личный проект. Помимо того, что указано в приведенной выше статье, я ничего не знаю о zend_engine, а мои навыки C устарели на 10 лет и были только академическими. Все это означает: «Если кажется, что я задаю глупый вопрос, возможно, так оно и есть».

Можно ли вызывать функции из других расширений PHP в моем собственном расширении, или каждое расширение PHP считается островом, не имеющим доступа к другим частям системы? Если это возможно, является ли это обычной практикой или плохой идеей™?

То есть я знаю, что могу вернуть строку примерно так.

PHP_FUNCTION(hello_world)
{
    char *str;
    str = estrdup("Hello World");
    RETURN_STRING(str, 0);
}

Я хотел бы иметь возможность возвращать, скажем, элемент SimpleXML или элемент DomDocument. Поиск в Google оказался затруднительным, так как там нет тонны информации о разработке расширений, и есть тонна информации о стандартном использовании PHP.

15
задан Alan Storm 19 March 2012 в 16:31
поделиться