编程语言
首页 > 编程语言> > PHP中的静态方法

PHP中的静态方法

作者:互联网

为什么在PHP中你可以通过某个类的实例访问静态方法,但不仅仅是通过类型名称?

更新:我是.net开发人员,但我也与PHP开发人员合作.最近我发现了关于从实例调用的静态方法的这一刻,并且无法理解为什么它可以是有用的.

例:

class Foo
{
    public static Bar()
    {
    }
}

我们可以接受这样的方法:

var $foo = new Foo();
$foo.Bar(); // ??????

解决方法:

在PHP中

例如,使用new关键字对类进行实例化;

$MyClass = new MyClass();

并且可以使用范围解析运算符或对象引用运算符来访问静态方法或属性.例如,如果类MyClass包含静态方法Foo(),那么您可以通过任何一种方式访问​​它.

$MyClass->Foo();

要么

MyClass::Foo()

唯一的规则是静态方法或属性不在对象上下文中.例如,您不能在静态方法中使用$this.

标签:php,static-methods
来源: https://codeday.me/bug/20190930/1836818.html