self, siempre se refiere a la misma clase, es lo mismo que usar new Clase(), pero dentro de la clase y como estas implementando singleton, vas a devolver la misma instancia, por eso es igual usar new self();
is_object no se puede usar, ya que solo comprueba si la variable es un objeto, y tienes que comprobar si mas bien la variable es una instancia de la clase.
get_instance desconozco que hace esa función.
No hay una sintaxis obligatoria, simplemente es que en tu primera llamada a getInstance() si la instancia de la clase no existe la cree y la devuelva.
Podrías usar algo así también:
Código PHP:
Ver originalpublic static function getInstance()
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new self();
}
return self::$_instance;
}
Saludos.