The primary difference between a singleton and a static class is that a singleton is instantiated once and only once and returns the same object handle whenever you call its constructor which is Object::instance() in this example. That is the core of a singletons behaviour - it is an instantiated object of which only one copy can ever exist during the lifetime of the application.
A static class on the other hand does not need to return an instance and in fact it doesn't. It is called via its static members and is never instantiated which is perfectly acceptable for what you are trying to do.
It seems that the only reason you are calling Object::instance() is the get a variable which can be used to access the object members. That basically makes it a shorthand method to access its members but you could still do it this way,
Code: Select all
$result = Object::MethodName();Code: Select all
$obj->MethodName();