self引用的是当前类,static允许函数调用在运行时绑定调用类
简单来说,就是使用self返回的值一直是初始类,而static的继承类返回的值是离它最近的类内部的数据。
举个例子:
self是一个只认爸妈的小孩,而static是谁带着它就认谁的小孩
<?php
class Car{
public static function model(){
self::getModel();
}
protected static function getModel(){
echo "i am a car";
}
}
Car::model();
echo("\n");
class Mercedes extends Car{
protected static function getModel()
{
echo "I am a Mercedes!";
}
}
Mercedes::model();
返回为
更改为static
参考链接:
https://blog.csdn.net/qmhball/article/details/77369457