Google
Web dns.bdat.net

[PHP-ES] Re: Duda Conceptual (sólo para dementes)

Write haof XML files: Keko ( keko_metal(EN)hotmail.com)
Fecha: mié 09 feb 2005 - 00:44:07 CET


Muchas gracias por sus comentarios.

El patrón Singleton es la solución que estaba buscando.

Saludos.
Keko

"Keko" < keko_metal(EN)hotmail.com> escribió en el mensaje
news:20050207000209.74071.qmail(EN)lists.php.net...
> Buenas a todos,
>
> Intentando hacerme el moderno y migrar todas las funciones PHP que utilizo
y
> convertirlas en clases, me surge una duda conceptual.
>
> 1) Utilizando funciones, las mismas están disponibles/visibles para TODOS
> los procesos PHP: puedo llamar a cualquier función desde cualquier otra
> función. Por ejemplo, tengo un juego de funciones que maneja "cualquier
> cosa" y necesita datos de una DB, puedo llamar a la función :
> DB_DAME_LOS_MALDITOS_DATOS ();
> desde cualquier lugar y obtenerlos.
>
> 2) Con calses, en lugar de tener un juego de funciones que accedan a la
base
> de datos, tengo una clase que maneja dicha DB. La ventaja es obvia : puedo
> crear 20 conexiones a 20 bases de datos diferentes, sólo definiendo
> $db1=new dbClass;
> $db2=new dbClass;
> etc, etc.
> y los datos se obtendrían con
> $datos=$db1->DB_DAME_LOS_MALDITOS_DATOS();
>
> Terminando el parloteo, la duda es la siguiente :
> Hay alguna forma de que estos objetos sean globales, o superglobales?
> Principalmente porque, sin saber hasta donde puede llegar el proyecto, es
> necesario llamar a "dame los malditos datos" desde cualquier lugar (desde
> dentro de otra clase, también puede ser, o desde alguna clase anidada), y
es
> algo que usando funciones está resuelto implícitamente, no así usando
> clases.
> La respuesta tal vez no esté en lo 'global', sino en alguna otra cosa que
no
> se me ocurrió. No vale eso de "pasarle el objeto o la referencia al objeto
a
> cada cosa que lo necesite" porque en un proyecto grande y modular eso se
> vuelve muy poco recomendable
>
> Saludos,
> Keko
>

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 19 mar 2005 - 01:01:24 CET