I have a question regarding static function in php.
let’s assume that I have a class
class test {
public function sayHi() {
echo 'hi';
}
}
if I do test::sayHi(); it works without a problem.
class test {
public static function sayHi() {
echo 'hi';
}
}
test::sayHi(); works as well.
What are the differences between first class and second class?
What is special about a static function?
In the first class,
sayHi()is actually an instance method which you are calling as a static method and you get away with it becausesayHi()never refers to$this.Static functions are associated with the class, not an instance of the class. As such,
$thisis not available from a static context ($thisisn’t pointing to any object).