Blogger Information
Blog 42
fans 3
comment 2
visits 93599
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP static(静态)关键字
Whitney的博客
Original
1746 people have browsed it

PHP 中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次再定义时还是以前的值,常用于递归或者子函数中保留之前的值,可以用来定义变量和方法。

下面举例说明:

实例

<?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

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

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

print Bar::$my_static . "\n"; // foo
$bar = new Bar();
print $bar->fooStatic() . "\n"; // foo 

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:

① 一般静态属性用于保存类的公有数据

② 静态方法内部只能访问静态属性,包括本类和父类的

③ 静态成员不需要实例化对象就能访问

④ 在本类内部访问静态属性用self或static关键字访问,后面要带上‘$’,比如self::$my_static
,parent::$my_static

⑤ 访问父类静态属性使用parent,比如:parent::$my_static

⑥ 在类外部访问静态变量或者方法是使用类名直接访问,无需实例化。比如:Bar::$my_static


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post