- 生命周期钩子
生命周期钩子
PHP提供了几个生命周期事件,这些扩展可以用来执行常见的初始化或关闭任务。 通常,Zephir在这些事件中自己的钩子会覆盖所有设置,并删除您需要的扩展,但是如果您发现需要做更多的事情,可以使用一些选项将您自己的代码传递到这些相同的钩子中。
考虑下面的图表:
生命周期钩子注册在config.json
。 如上图所示,有四种生命周期钩子 — globals
, initializers
,destructors
,info
。 每一个都在配置中有自己对应的根级别设置,globals和info都有自己的章节。 本章将介绍另外两种设置。
每个钩子在config.json
文件是一个对象数组,其本身本质上是include
/code
对。 include
值,如果还没有,则会拉入一个给定的C头文件,这样code
就可以访问它的内容。 code
值是由钩的逻辑本身, 虽然在技术上你可以把任何有效的C, 它是 强烈建议把逻辑超过一个或两个行到一个单独的C源文件(比如一个拉连同你的include
d头文件), 并使用一个单行的函数调用。
- initializers
- destructors