一个类可以在php中保持静态

Nee*_*esh 3 php static class

可能重复:
是否可以在PHP中创建静态类(如在C#中)?

任何人都可以告诉我是否可以将php类声明为静态?

static class StaticClass
{
    public static function staticMethod()
    {
        return 'foo';
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码给了我error.parse错误:解析错误,期待'T_VARIABLE'

Bol*_*ock 6

不,您不能将PHP类显式声明为静态.

您可以将其构造函数设置为私有,因此尝试实例化它(至少从类外部)会导致致命错误.

class StaticClass
{
    private function __construct() {}

    public static function staticMethod()
    {
        return 'foo';
    }
}

// Fatal error: Call to private StaticClass::__construct() from invalid context
new StaticClass();
Run Code Online (Sandbox Code Playgroud)

如果您要实现静态初始化和C#静态类中的其他功能,请参阅其他链接的问题.否则,如果您只想将一些实用程序方法组合到一个类中,那么只需将构造函数私有化就可以了.

  • @Neelesh:点击左边的刻度标记,确保接受答案. (2认同)