PHP 7 匿名 类
PHP 7 anonymous classes
PHP 7 引入了一个名为匿名 class 的新 class 功能,它允许我们创建对象而无需命名。匿名 classes 可以嵌套。您对内存消耗、执行时间、性能问题有何看法?有metrics/stats可用吗?
匿名 classes 是没有程序员声明名称的 classes,它们在其他方面与普通 classes 相同。
语法允许它们嵌套,就像函数一样:
function name() {
function sub() {
}
}
但是就像上面的代码包含两个全局可访问的函数一样,下面的代码仍然包含两个全局可访问的classes:
class C {
function method () {
return new class{};
}
}
它让您可以控制 class 的位置 很容易 访问,从这个意义上说,它们是嵌套的。
它们没有嵌套,因为在另一个 class 中声明的匿名 class 无法访问创建 class.
的任何成员这样:
class C {
private $member;
public function method() {
return new class {
public function method() {
return $this->member;
}
};
}
}
无效,因为匿名 class 没有真正嵌套。