PHP 7 引入了一个名为匿名类的新类特性,它允许我们创建对象而无需命名它们。匿名类可以嵌套。您对内存消耗、执行时间、性能问题有何看法?是否有可用的指标/统计数据?
问问题
804 次
1 回答
5
匿名类是没有程序员声明名称的类,它们在其他方面与普通类相同。
语法允许它们嵌套,就像函数一样:
function name() {
function sub() {
}
}
但是就像上面的代码包含两个全局可访问的函数一样,下面的代码仍然包含两个全局可访问的类:
class C {
function method () {
return new class{};
}
}
它使您可以控制从哪里可以轻松访问该类,从某种意义上说,它们是嵌套的。
它们不是嵌套的,因为在另一个类中声明的匿名类不能访问创建类的任何成员。
这样:
class C {
private $member;
public function method() {
return new class {
public function method() {
return $this->member;
}
};
}
}
无效,因为匿名类不是真正嵌套的。
于 2015-10-29T15:50:46.873 回答