Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/09/2005, 11:54
Casuis
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 8 meses
Puntos: 3
Hola dominguez para ejecutar un método de un objeto de forma única, lo que yo entiendo es un método estático por ejemplo en PHP5

<?php

class Prueba {
static function saludar() {
print "Hola gente!";
}
}


Prueba::saludar();

?>

Como sabes las funciones o métodos estáticos serán iguales para todos los objetos.

Si lo que quieres es tener una instancia de un solo objeto entonces puedes aplicar el patrón de diseó más fácil y más famoso el Singleton.
Por ejemplo:
<?php


class Singleton {
static private $instance = NULL;

private function __construct() {
}

static public function getInstance() {
if (self::$instance == NULL) {
self::$instance = new Singleton();
}
return self::$instance;
}
}


$Objeto1 = Singleton::getInstance();
$Objeto2 = Singleton::getInstance();

?>

El primer objeto llamará a la instancia que creará el objeto singleton
el segundo objeto llamará a la misma instancia y al comprobar q el objeto está creado retornará la referencia al mismo objeto singleton.

Más claro esta es una forma de obtener una sola creacion de un objeto por ejemplo es útil para asegurarnos que solo tenemos una conexion de base de datos abierta.