本文介绍了php静态方法与静态属性的用法,几个php静态方法与属性的小例子,使用了static和不使用static属性以后可以直接使用::方法从外面直接调,一起学习下。
本文提供了一种便捷高效的方法 static 有了它以后这些统统不再是问题。
php静态方法与属性用法举例。
分享下php中static使用方法和特性,即有关php静态方法与静态属性的内容。
hello world:
 
复制代码 代码示例:
class hw{  
    public static function hi(){  
       return 'Hello World!!!';  
    }  
}  
   
echo hw::hi();    
view plaincopy to clipboardprint?
class hw{  
    public function hi(){  
       return 'Hello World!!!';  
    }  
}  
   
echo hw::hi();    
 
以上例子中使用了static和不使用static属性以后可以直接使用::方法从外面直接调用,但是为了效率和其他方面因素,还是建议使用static 来限制。
static 类内部调用方法
 
复制代码 代码示例:
class foo{  
   
private static function c(){  
  return 'abcd';  
}  
   
public static function a(){  
  echo self::c();  
}  
   
}  
foo::a();    
 
使用了static 关键字来限制方法是必须使用self:: 在本类内部引用,上面的例子已经将的很清楚了。
static 属性
 
复制代码 代码示例:
class foo{  
public static $a;  
public static function a(){  
  self::$a='abcd';  
}  
}  
foo::a();  
echo foo::$a;   
同样可以使用static关键字来限制变量,此时变量不会一直保持上一次负值时的值。
static 继承与使用
 
复制代码 代码示例:
class foo{  
public static $a;  
public static function a(){  
  return 'abcd';  
}  
}  
class oo extends foo{  
public static  function a(){  
  echo '1234';  
}  
}  
oo::a();    
 
1,static 的继承和普通类的继承方法一样,并没有太大的区别。
 
复制代码 代码示例:
class foo{  
public static $a;  
public static function a(){  
  return 'abcd';  
}  
}  
class oo extends foo{  
public static  function aa(){  
  echo parent::a();  
}  
}  
oo::aa();    
 
只是使用时有写区别,必须是parent::方法来引用父类的方法,并不能直接self::来使用父类的方法,如下例子,则不会显示任何值:
 
复制代码 代码示例:
class foo{  
public static $a;  
public static function a(){  
  return 'abcd';  
}  
}  
   
class oo extends foo{  
public static  function aa(){  
  echo self::a();  
}  
}  
oo::a();   
2,php静态方法与属性的简单例子,
 
复制代码 代码示例:
<?php  
    class Status {  
        public static $ICE = -1;  
        public static $WATER = 0;  
        public static $VAPOR = 1;   
    }  
?>?  
  
<?php  
    $exStatus = Status::$ICE;  
    if ($exStatus == Status::$ICE)  
        echo "Ice";  
    else  
        echo "Water";  
?>