不支持的语法列表
Z5加密支持 PHP 7.2 支持的绝大多数语法,但以下列表列出的语法不支持。另外,针对某些可能会导致E_WARNING的代码,在不同版本PHP下可能会出现E_FATAL导致程序无法运行,因此需要您在E_ALL下开发代码。
extract / compact
不支持extract
函数与compact
函数,将拒绝编译。
extract(['a' => 'b']);
静态成员变量
不支持对于静态成员变量设置引用:
class A { static $b = 0 }
echo A::$b; // 支持
$a::$b = 10; // 支持
$a::$b = &$a; // 不支持
Lambda / 函数内部定义其他结构
暂不支持以下类似代码,将在编译时提示编译失败:
function a () {
function b () {}
class A {}
$a = function () use ($b) {}
$b = function () {}
$c = new class {}
}
Generator / Yield
暂不支持Generator / Yield,将在编译时提示编译失败:
function count_to_ten() {
yield 1;
yield 2;
yield from [3, 4];
yield from new ArrayIterator([5, 6]);
yield from seven_eight();
return yield from nine_ten();
}
TICKS
暂不支持declare / ticks语法,将在编译时提示编译失败:
declare(ticks = 1) {
// something
}