Static锟斤拷锟斤拷态锟斤拷锟截硷拷锟斤拷

Tip

锟斤拷页说锟斤拷锟斤拷锟斤拷 static 锟截硷拷锟斤拷锟斤拷锟斤拷锟藉静态锟斤拷锟斤拷锟斤拷锟斤拷锟皆★拷static 也锟斤拷锟斤拷锟斤拷锟斤拷锟藉静态锟斤拷锟斤拷锟皆硷拷锟斤拷锟节撅拷态锟斤拷锟斤拷锟轿硷拷锟斤拷锟斤拷页锟斤拷锟剿斤拷 static 锟斤拷锟斤拷锟叫碉拷锟矫凤拷锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟皆或方凤拷为锟斤拷态锟斤拷锟酵匡拷锟皆诧拷实锟斤拷锟斤拷锟斤拷锟街憋拷臃锟斤拷省锟斤拷锟教拷锟斤拷圆锟斤拷锟酵拷锟揭伙拷锟斤拷锟斤拷锟绞碉拷锟斤拷锟斤拷亩锟斤拷锟斤拷锟斤拷锟斤拷剩锟斤拷锟斤拷锟教拷锟斤拷锟斤拷锟斤拷裕锟斤拷锟�

为锟剿硷拷锟斤拷 PHP 4锟斤拷锟斤拷锟矫伙拷锟街革拷锟�锟斤拷锟绞匡拷锟斤拷锟斤拷锟斤拷锟皆和凤拷锟斤拷默锟斤拷为锟斤拷锟叫★拷

锟斤拷锟节撅拷态锟斤拷锟斤拷锟斤拷锟斤拷要通锟斤拷锟斤拷锟襟即可碉拷锟矫o拷锟斤拷锟斤拷伪锟斤拷锟斤拷 $this 锟节撅拷态锟斤拷锟斤拷锟叫诧拷锟斤拷锟矫★拷

锟斤拷态锟斤拷锟皆诧拷锟斤拷锟斤拷锟缴讹拷锟斤拷通锟斤拷 -> 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞★拷

锟矫撅拷态锟斤拷式锟斤拷锟斤拷一锟斤拷锟角撅拷态锟斤拷锟斤拷锟结导锟斤拷一锟斤拷 E_STRICT 锟斤拷锟斤拷拇锟斤拷锟�

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷 PHP 锟斤拷态锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷态锟斤拷锟斤拷只锟杰憋拷锟斤拷始锟斤拷为锟斤拷锟街伙拷锟斤拷锟斤拷锟斤拷锟斤拷使锟矫憋拷锟绞斤拷锟斤拷锟斤拷钥锟斤拷园丫锟教拷锟斤拷猿锟绞硷拷锟轿拷锟斤拷锟斤拷锟斤拷锟斤拷椋拷锟斤拷锟斤拷艹锟绞硷拷锟轿拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街碉拷锟揭诧拷锟斤拷锟街革拷锟揭伙拷锟斤拷锟斤拷锟�

锟斤拷 PHP 5.3.0 锟金,匡拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷态锟斤拷锟斤拷锟洁。锟斤拷锟矫憋拷锟斤拷锟斤拷值锟斤拷锟斤拷为锟截硷拷锟斤拷 self锟斤拷parent 锟斤拷 static锟斤拷

Example #1 锟斤拷态锟斤拷锟斤拷示锟斤拷

<?php
class Foo
{
    public static 
$my_static 'foo';

    public function 
staticValue() {
        return 
self::$my_static;
    }
}

class 
Bar extends Foo
{
    public function 
fooStatic() {
        return 
parent::$my_static;
    }
}


print 
Foo::$my_static "\n";

$foo = new Foo();
print 
$foo->staticValue() . "\n";
print 
$foo->my_static "\n";      // Undefined "Property" my_static 

print $foo::$my_static "\n";
$classname 'Foo';
print 
$classname::$my_static "\n"// As of PHP 5.3.0

print Bar::$my_static "\n";
$bar = new Bar();
print 
$bar->fooStatic() . "\n";
?>
   </programlisting>
  </example>

  <example>
   <title>锟斤拷态锟斤拷锟斤拷示锟斤拷</title>
    <programlisting role="php">
<![CDATA[
<?php
class Foo {
    public static function 
aStaticMethod() {
        
// ...
    
}
}

Foo::aStaticMethod();
$classname 'Foo';
$classname::aStaticMethod(); // 锟斤拷 PHP 5.3.0 锟斤拷
?>