首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP 7匿名类

PHP 7匿名类
EN

Stack Overflow用户
提问于 2015-10-28 12:55:37
回答 1查看 839关注 0票数 1

PHP 7引入了一个名为匿名类的新类特性,它允许我们创建对象而不需要命名它们。匿名类可以嵌套。您对内存消耗、执行时间、性能问题有什么看法?是否有可用的指标/统计数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-29 15:50:46

匿名类是没有程序员声明名称的类,否则它们与普通类相同。

语法允许嵌套它们,就像函数一样:

代码语言:javascript
复制
function name() {
    function sub() {

    }
}

但是,正如上面的代码包含两个全局访问的函数一样,下面的代码仍然包含两个全局访问的类:

代码语言:javascript
复制
class C {
    function method () {
        return new class{};
    }
}

它为您提供了一种对类容易访问的位置的控制,从这个意义上说,它们是嵌套的。

它们不是嵌套的,因为在另一个类中声明的匿名类不能访问创建类的任何成员。

所以这个:

代码语言:javascript
复制
class C {
    private $member;

    public function method() {
        return new class {
            public function method() {
                return $this->member;           
            }
        };
    }
}

无效,因为匿名类不是真正嵌套的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33391660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档