发布时间:2025-12-10 22:43:34 浏览次数:1
php static是PHP中的一种关键字,使用static关键字即表示该成员为静态成员,在类的加载过程中只会保留一个副本,所有对静态变量进行的操作都会对所有对象起作用。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php static是什么意思?
PHP中static关键字的作用和区别
PHP中的static与Java等其他面向对象语言不同,实例化出来的一个对象只可以对静态方法进行访问,对静态成员无法访问。
使用static关键字即表示该成员为静态成员,在类的加载过程中只会保留一个副本,所有对静态变量进行的操作都会对所有对象起作用
在PHP中静态变量不能被实例化对象调用,静态方法可以被对象调用
//----类内部----//调用普通成员this->name;//调用静态成员self::name_static;//----类外部----//调用普通成员需要实例化使用Carc=newCar();c->name;//调用静态方法c::fun()<==>Car::fun()//调用静态变量Car::name;
分析一段代码:
classCar{private$name;privatestatic$type="Car";function__construct($name){$this->name=$name;echo"Car".$name."hascreated!\n";}publicstaticfunctiongetType(){echoself::$type."\n";}publicfunctiongetName(){echo"Carnameis".$this->name."\n";}function__destruct(){echo"Car".$this->name."hasdestory!";}}一个实体类,定义了一个构造函数,一个静态函数,一个普通函数,一个析构函数和一个普通成员变量、一个静态成员变量。
使用PHPunit进行测试
classtestextendsPHPUnit_Framework_TestCase{publicfunctiontest_car(){$car=newCar("BMW");$car::getType();$car->getName();}}可以得到输出:
CarBMWhascreated!CarCarnameisBMWCarBMWhasdestory!