Hola! Gracias por la respuesta. Al final lo he dejado así:
Código PHP:
class GestorBD(object):
instance=None
def __new__(cls, *args, **kargs):
if cls.instance is None:
cls.instance=object.__new__(cls, *args, **kargs)
return cls.instance
def __init__(self):
self.conexion=psycopg.connect("host='xxx.xxx.xxx.xxx' port= 'xxx' dbname='xx' user= 'xx' password= 'xx'")
def execute(self, consulta):
self.cursor=self.conexion.cursor()
self.cursor.execute(consulta)
registros=self.cursor.fetchall()
return registros
.....
La duda que tengo es la siguiente: cada vez que se intenta crear un objeto GestorBD se ejecuta el método __new__ y si ve que ya hay una instancia es esa la que devuelve. Hasta ahí está claro. Pero después se llama al __init__ y ahí se hace la conexión. ¿Se está creando una conexión por cada llamada al único objeto creado? ¿Os el la misma conexión? Lo que yo necesito es que haya una conexión por cada objeto único singleton.
Un saludo