使用PHP对象访问静态属性

use*_*576 21 php static

这是参考获取实例的静态属性,我是新手,并具有以下代码:

class Foo
{
   public static $my_static = 1;
}

class Bar extends Foo
{

}

$foo = new Foo();
$boo = new Bar();

echo Foo::$my_static;  // ok
echo Bar::$my_static;  // ok
echo $foo::$my_static; // ok
echo $boo::$my_static; // ok
Run Code Online (Sandbox Code Playgroud)

静态变量/属性仅作为C++中的ClassName :: static_property访问,但在PHP中并非如此......但PHP书籍主要提到className :: static_property模式,而不是object :: static_property构造.需要更多关于此...

Rob*_*ert 23

可以通过各种方式访问​​静态属性.

Class::$aStaticProp; //by class name

$classname::$aStaticProp; // As of PHP 5.3.0 by object instance
Run Code Online (Sandbox Code Playgroud)

使用箭头运算符无法通过对象访问静态属性->.

从PHP 5.3.0开始,可以使用变量引用该类.变量的值不能是关键字(例如self,parent和static).

您可以阅读更多手册


dec*_*eze 11

$instance::$staticProperty简直就是一种方便的简写Class::$staticProperty.由于您已经有一个的实例并且语法是明确的,因此PHP可以避免编写可能的长类名.没有功能差异.