什么是zend扩展?

时间:2016-06-19 07:44:53

标签: php php-extension php-internals

如果你看this documentation,第一个参数只返回Zend扩展名。 与PHP("简单")扩展相比,什么是Zend扩展?

1 个答案:

答案 0 :(得分:6)

Zend扩展程序挂钩到语言的“较低级别”。单个扩展也可以是PHP扩展和Zend扩展。例如,Xdebug使用Zend扩展组件挂接到语言的较低层来拦截调用调用。

Zend扩展是Zend Engine(ZE)本身的扩展,它是PHP堆栈的最低级别。

The PHP Wiki提供了许多其他信息。我将引用介绍:

  

正如您应该知道的,我们区分“PHP扩展”和“Zend扩展”。考虑这个词汇来跟随文章,在内部,消息来源更喜欢将PHP扩展称为“模块”,将Zend扩展称为“扩展”。我们将保持更清晰的“PHP扩展”与“Zend扩展”的措辞。

     

这两种扩展类型共享很多东西。两种类型之间的区别主要在于它们注册到引擎中的钩子。请记住,尽管它非常罕见,但扩展可以同时是PHP扩展和Zend扩展。 Xdebug就是一个很好的例子。

Zend扩展也会在加载PHP扩展之前加载。

PHP扩展示例是PHP Redis Extension。这是一个仅限PHP的扩展,不会直接挂钩到Zend引擎。