Static����̬���ؼ���

Tip

��ҳ˵������ static �ؼ��������徲̬���������ԡ�static Ҳ���������徲̬�����Լ����ھ�̬�����μ�����ҳ���˽� static �����е��÷���

���������Ի򷽷�Ϊ��̬���Ϳ��Բ�ʵ�������ֱ�ӷ��ʡ���̬���Բ���ͨ��һ������ʵ�����Ķ��������ʣ�����̬�������ԣ���

Ϊ�˼��� PHP 4�����û��ָ�����ʿ��������Ժͷ���Ĭ��Ϊ���С�

���ھ�̬��������Ҫͨ�����󼴿ɵ��ã�����α���� $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 ��
?>