专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

php中static静态关键字的使用

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

 class Human{
     public $name;
     protected $height;

     public static $sValue="Static Value in Human";
     public function eat($food){
         echo $this->name . "'s eating ". $food. "\n";
     }
 }

 class Me extends Human
 {
     public $team="lsl";
     private $age="23";

     public static $president="zzy";

     public static function changePresident($newPrsdt){
         static::$president = $newPrsdt;
         echo parent::$sValue . "<br />";
     }

     //静态变量和方法操作
     private static $a="abc";

     public static function abc(){
         echo "<br />".self::$a;
         self::$a.="def";
     }
 }

 echo Me::$president. "\n";
 Me::changePresident("web");
 echo Me::$president. "<br />";

 Me::abc();
 Me::abc();

首先定义了一个人类Human,然后定义一个类Me继承了Human,则Human里面的成员都可以通过Me的对象来使用了,并且整个使用过程中成员变量的值都是有效的,根据代码可以看到:静态变量的值改变之后下次再调用就是改变之后的了,如果是普通变量则无法实现,只能是通过对象改变才有效,而通过类内部的方法是无法改变的,通过最后两行代码更容易看出,调用了2次方法abc后静态变量$a的值就发生改变了,静态变量自己想一下就可以理解了,用途也很广泛,下面总结几点静态关键字相关的规则:

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

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

3、静态成员不需要实例化对象就可以访问

4、在本类内部访问静态属性用self或static关键字访问,后面带上的变量要包括$,比如: self::$a或者static::$a

5、访问父类静态属性使用parent,如:parent::$name

6、在类外部访问静态变量或者方法时使用类名直接访问,无需实例化。如:Me::$pan和Me::abc()

具体的要点就这么多了

文章永久链接:https://tech.souyunku.com/47746

未经允许不得转载:搜云库技术团队 » php中static静态关键字的使用

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们