首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP -在类中定义常量

PHP -在类中定义常量
EN

Stack Overflow用户
提问于 2011-05-05 11:12:17
回答 1查看 109.6K关注 0票数 92

如何在类中定义常量,并使其仅在类上下文中调用时可见?

Foo::app()->MYCONSTANT;一样的....something

(如果像MYCONSTANT一样调用,则被忽略)

EN

回答 1

Stack Overflow用户

发布于 2013-03-30 01:51:13

这是一个相当古老的问题,但也许这个答案仍然可以帮助其他人。

您可以通过将final关键字应用于返回预定义值的方法来模拟在类范围内受到限制的公共常量,如下所示:

代码语言:javascript
复制
class Foo {

    // This is a private constant
    final public MYCONSTANT()
    {
        return 'MYCONSTANT_VALUE';
    }
}

方法上的final关键字可防止扩展类重新定义该方法。您还可以将final关键字放在类声明的前面,在这种情况下,该关键字会阻止类继承。

要获得几乎与Alex所寻找的内容完全相同的内容,可以使用以下代码:

代码语言:javascript
复制
final class Constants {

    public MYCONSTANT()
    {
        return 'MYCONSTANT_VALUE';
    }
}

class Foo {

    static public app()
    {
        return new Constants();
    }
}

模拟的常量值可以像这样访问:

代码语言:javascript
复制
Foo::app()->MYCONSTANT();
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5892226

复制
相关文章

相似问题

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