php静态方法与静态属性实例教程

发布时间:2020-11-15编辑:脚本学堂
本文介绍了php静态方法与静态属性的用法,php静态方法的多个例子,为了效率和其他方面因素,还是建议使用static 来限制静态方法,需要的朋友参考下。

例子,php静态方法的用法法,static 的使用方法和特性。
hello world:
 

复制代码 代码示例:

class hw{ 
 public static function hi(){ 
    return 'Hello World!!!'; 
 } 

  
echo hw::hi(); 
echo hw::hi();

class hw{ 
 public function hi(){ 
    return 'Hello World!!!'; 
 } 

  
echo hw::hi();

以上例子使用了static和不使用static属性以后可以直接使用::方法从外面直接调用,但是为了效率和其他方面因素,还是建议使用static 来限制。

2,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(); 

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'; 
}  // www.jb200.com

  
class oo extends foo{ 
public static  function aa(){ 
  echo self::a(); 


oo::a();

最后一个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"; 
?>