Ver Mensaje Individual
  #20 (permalink)  
Antiguo 28/06/2012, 12:10
salomon26
 
Fecha de Ingreso: mayo-2012
Ubicación: En mi casa
Mensajes: 22
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: ¿Desaconsejado el uso de variables globales?

Cita:
Iniciado por GatorV Ver Mensaje
Desconozco a que te refieres con el "setup" pero pues debes de instanciarlas donde las necesites es la base de POO, si no instancias una clase no la puedes utilizar (a menos que sea una clase estática)
En un principio dijiste esto:

Cita:
// en otro file donde hagas el setup
$db = new Db(/* datos */);
$user = new User();
$user->setDb($db);
*
// Donde uses $user
$user->algo();
Imagino que es donde se haría el include, que ahora es la carga automatizada con spl_autoload_register(). No haría falta instanciarla en ese "setup" que podemos llamar common.php, ¿no? Pues no va a ser utilizada ahí, sólo en algunas funciones de algunas clases.

También, para no instanciar en todas las funciones, se podría crear una función para instanciar automáticamente?

Sería algo como:

Código PHP:
Ver original
  1. Class User
  2. {
  3.     private $security;
  4.     private $core;
  5.    
  6.     function &getInstance()
  7.     {
  8.     $this->ext->security = new Security;
  9.         $this->ext->core = new Core;
  10.      }
  11.    
  12.     function getData()
  13.     {
  14.         $user_id = $this->ext->security->string($_POST['uid']);
  15.     }
  16.  
  17.     // O bien
  18.     function security_class()
  19.     {
  20.         return new Security;
  21.     }
  22.    
  23.     function getData2()
  24.     {
  25.         $user_id = $this->security_class->string($_POST['uid']);
  26.     }
  27. }

O un constructor... donde dice string sería una función de la clase security, mientras que $this->ext->security es la instancia de la clase "Security". ¿Sería posible?

Última edición por salomon26; 28/06/2012 a las 12:51