PHP静态变量、成员、方法
1、静态变量是只存在于函数作用域中的变量,注释:执行后这种变量不会丢失(下次调用这个函数时,变量仍会记着原来的值)。定义静态变量的方法只需要在变量前面加上static关键字即可。
2、静态成员是一种类变量,可以把它看成属于整个类而不是类的某个实例。与一般实例变量不同之处:静态成员只保留一个变量值,而这个变量值对所有的实例是有效的(所有的实例都共享这个成员)。
3静态方法:静态方法的规则和静态变量是相同。使用static关键字可以将方法标记为静态方法,通过类的名称和作用域限定符(::)(paamayim nekudotayim)可以访问到静态方法.
[*]<?php
[*] var_dump("Hellow word!");
[*] /**
[*] * 测试例子
[*] */
[*] class myObject{
[*] public static $myStaticVar = 0; //声明一个共用静态的变量myStaticVar赋初始值0
[*] function myMethod(){
[*] self::$myStaticVar += 2;
[*] echo self::$myStaticVar . "\n";
[*] }
[*] static function myMethod2(){
[*] self::$myStaticVar += 2;
[*] echo self::$myStaticVar . "\n";
[*] }
[*]
[*] }
[*]
[*] class MyOtherObject extends myObject{
[*] public static $myStaticVar = 0; //重写了myStaticVar
[*] function myOtherMethod(){
[*] echo parent::$myStaticVar ."\n";//parent访问夫类
[*] echo self::$myStaticVar . "\n";//self访问当前类
[*] }
[*] }
[*]
[*] $instance1 = new myObject(); //实例化myObject
[*] $instance1->myMethod();
[*] $instance2 = new myObject();
[*] $instance2->myMethod();
[*] $instance3 = new MyOtherObject();
[*] $instance3->myOtherMethod();
[*]
[*] echo myObject::$myMethod2();//
[*]?>
页:
[1]