全局扩展
在Zephir中,扩展全局变量仅限于简单的标量类型,如 int / bool / double / char 等。 此处不允许使用复杂类型,例如字符串/数组/对象/资源。
您可以通过将以下结构添加到 来启用扩展全局变量:
"<global-name>": {
"type": "<some-valid-type>",
}
可选的module 键
(如果存在)将全局的初始化过程放入模块范围的 生命周期事件中,这意味着它只会在每个PHP进程中设置一次, 而不是为每个请求重新初始化,这是默认值:
在上面的例子中,allow_some_feature
在启动时只设置一次;number_times
是在每个请求开始时设置的。
globals_set("allow_some_feature", true);
如果你想从PHP中改变这些全局变量,一个好的选择是包含一个针对这个的方法:
不能动态访问扩展全局, 因为 globals_get
/globals_set
优化器生成的 c 代码必须在编译时解析:
let myOption = "someOption";