You're misunderstanding how the static static keyword works.
The first time it is encountered for a specific variable in the method it defines the $inst
variable as null
, then checks to see if it is null
(it is :p) and then sets it to a new object of that class.
The second time, the static definition isn't used because the static variable has already been defined. It then checks to see if it is null
, it isn't, it has already been set to a new object of the class, so it skips the if and returns the object.
You're misunderstanding how the static keyword works.
The first time it is encountered for a specific variable in the method it defines the $inst
variable as null
, then checks to see if it is null
(it is :p) and then sets it to a new object of that class.
The second time, the static definition isn't used because the static variable has already been defined. It then checks to see if it is null
, it isn't, it has already been set to a new object of the class, so it skips the if and returns the object.
You're misunderstanding how the static keyword works.
The first time it is encountered for a specific variable in the method it defines the $inst
variable as null
, then checks to see if it is null
(it is :p) and then sets it to a new object of that class.
The second time, the static definition isn't used because the static variable has already been defined. It then checks to see if it is null
, it isn't, it has already been set to a new object of the class, so it skips the if and returns the object.
You're misunderstanding how the static keyword works.
The first time it is encountered for a specific variable in the method it defines the $inst
variable as null
, then checks to see if it is null
(it is :p) and then sets it to a new object of that class.
The second time, the static definition isn't used because the static variable has already been defined. It then checks to see if it is null
, it isn't, it has already been set to a new object of the class, so it skips the if and returns the object.