在 PHP 中使用静态

发布于 2024-12-04 15:02:39 字数 526 浏览 0 评论 0原文

可能的重复:
PHP:静态和非静态函数和对象

为什么我要在php中使用static关键字?它只是为了创建“好的”代码还是也有一些优点?

function useThisAsStatic(){}

static function useThisAsStatic(){}

public static function useThisAsStatic(){}

public function useThisAsStatic(){}

澄清问题;所有上述方法都可以通过调用来使用

Object::useThisAsStatic();

,因此表明将方法声明为静态没有区别。

Possible Duplicate:
PHP: Static and non Static functions and Objects

Why would I use the static key word in php? Is it only to create "good" code or does it have some advantages as well?

function useThisAsStatic(){}

static function useThisAsStatic(){}

public static function useThisAsStatic(){}

public function useThisAsStatic(){}

To clarify the question; all above methods can be used by calling

Object::useThisAsStatic();

And thus suggests that there is no difference in declaring a method to be static.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

节枝 2024-12-11 15:02:39

仅仅是为了创建“好”代码

实际上是为了创建坏代码。
了解原因
并且本文更详细地介绍了static(感谢 Gordon )

Is it only to create "good" code

Actually it's to create bad code.
Read why
And this article is more specified about static (thanks to Gordon)

你丑哭了我 2024-12-11 15:02:39

静态函数意味着您可以调用它们,而无需先实例化类(创建对象)。

在某些情况下很有用,但静态函数不能使用该函数之外的类的本地成员。

Static functions mean you can call them without instantiating the class (creating the object) first.

Useful in certain situations, but static functions cannot make use of the local members of the class outside of that function.

海未深 2024-12-11 15:02:39

static 意味着属于该类。您可以调用静态方法或字段。无需创建类的实例。

static means belonging to the Class. You can call a static method or field. Without creating instance of the class.

心奴独伤 2024-12-11 15:02:39
class NewClass {
    public $public_var = "I'm public property!";
    public static $static_var = "I'm static property!";

    public function public_method()
    {
        return "I'm public method!";
    }

    public static function static_method()
    {
        return "I'm static method!";
    }
}

现在您可以调用 NewClass::$static_var 和 NewClass::static_method() 而无需创建 NewClass 实例。
在调用 public_var 和 public_method 时,您应该创建类的新实例:

$c = new NewClass();
echo $c->public_var;
echo $c->public_method();
class NewClass {
    public $public_var = "I'm public property!";
    public static $static_var = "I'm static property!";

    public function public_method()
    {
        return "I'm public method!";
    }

    public static function static_method()
    {
        return "I'm static method!";
    }
}

Now you can call NewClass::$static_var and NewClass::static_method() without creating NewClass instance.
While to call public_var and public_method you should create new instance of class:

$c = new NewClass();
echo $c->public_var;
echo $c->public_method();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文