Forward static binding only works for methods, not variables, so the
instance "sticks" to the class where it's declared. This means that
if two classes extend and construct off the parent class, they collide
because static::$instance is set by the first constructed class.
Distinguishing them by class name avoids this collision.
Forward static binding only works for methods, not variables, so the instance "sticks" to the class where it's declared. This means that if two classes extend and construct off the parent class, they collide because
static::$instance
is set by the first constructed class. Distinguishing them by class name avoids this collision.