php static是什么意思
时间:2021-06-17 来源:互联网
今天PHP爱好者给大家带来php static是PHP中的一种关键字,使用static关键字即表示该成员为静态成员,在类的加载过程中只会保留一个副本,所有对静态变量进行的操作都会对所有对象起作用。希望对大家有所帮助。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php static是什么意思?
PHP中static关键字的作用和区别
PHP中的static与Java等其他面向对象语言不同,实例化出来的一个对象只可以对静态方法进行访问,对静态成员无法访问。
使用static关键字即表示该成员为静态成员,在类的加载过程中只会保留一个副本,所有对静态变量进行的操作都会对所有对象起作用
在PHP中静态变量不能被实例化对象调用,静态方法可以被对象调用
// ----类内部----
// 调用普通成员
this->name;
// 调用静态成员
self::name_static;
// ----类外部----
// 调用普通成员需要实例化使用
Car c = new Car();
c->name;
// 调用静态方法
c::fun() <==> Car::fun()
// 调用静态变量
Car::name;
分析一段代码:
class Car
{
private $name;
private static $type = "Car";
function __construct($name)
{
$this->name = $name;
echo "Car " . $name . " has created!\n";
}
public static function getType()
{
echo self::$type . "\n";
}
public function getName()
{
echo "Car name is " . $this->name . "\n";
}
function __destruct()
{
echo "Car " . $this->name . " has destory!";
}
}
一个实体类,定义了一个构造函数,一个静态函数,一个普通函数,一个析构函数和一个普通成员变量、一个静态成员变量。
使用PHPunit进行测试
class test extends PHPUnit_Framework_TestCase
{
public function test_car()
{
$car = new Car("BMW");
$car::getType();
$car->getName();
}
}
可以得到输出:
Car BMW has created!
Car
Car name is BMW
Car BMW has destory!
以上就是php static是什么意思的详细内容,更多请关注php爱好者其它相关文章!
-
手是什么梗?揭秘网络热词手的搞笑含义和出处,看完秒懂! 2025-10-14
-
手速梗是什么梗?揭秘网络热词手速梗的爆笑含义和快速反应技巧! 2025-10-14
-
想知道手套是什么梗?揭秘网络热词背后的搞笑真相,一秒get笑点! 2025-10-14
-
手游海豹是什么梗?揭秘玩家炫耀欧气的网络热词,看完秒懂! 2025-10-14
-
手指梗是什么梗?揭秘网络热门手势梗的爆火真相,看完秒懂! 2025-10-14
-
燕云十六声心法毕业极速版-一个月一本六重流派 2025-10-14