PHP 7引入了一个名为匿名类的新类特性,它允许我们创建对象而不需要命名它们。匿名类可以嵌套。您对内存消耗、执行时间、性能问题有什么看法?是否有可用的指标/统计数据?
发布于 2015-10-29 15:50:46
匿名类是没有程序员声明名称的类,否则它们与普通类相同。
语法允许嵌套它们,就像函数一样:
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;
}
};
}
}无效,因为匿名类不是真正嵌套的。
https://stackoverflow.com/questions/33391660
复制相似问题