.
class Foo
{
public static $my_foo = 'foo';
public static $my_bar = 'bar';
}
Foo, Foo::$my_foo Foo::$my_bar.
Foo, Bar Bar::$my_foo Bar::$my_bar.
:
class Foo
{
public static function break_inheritance() {
self::$my_bar = &self::$my_foo;
}
}
Foo::break_inheritance();
Foo::$my_bar. Bar::$my_bar.
:
Bar::break_inheritance();
- Foo::$my_bar Bar::$my_bar.
, self::, , . , Foo::$my_bar = &Foo::$my_foo;. , break_inheritance(), Foo::$my_bar.
break_inheritance() Bar::$my_bar, , static:: self:::
class Foo
{
public static function break_inheritance() {
static::$my_bar = &static::$my_foo;
}
}
Foo::break_inheritance();
Bar::break_inheritance();
late static binding PHP 5.3.
(static::) , $this-> . , , ( ), , , .