Foros del Web » Programando para Internet » PHP »

Duda PHP orientado a objetos

Estas en el tema de Duda PHP orientado a objetos en el foro de PHP en Foros del Web. Hola, Si hago una clase en un archivo, y quiero llamar al mismo objeto desde dos archivos como se hace? Es decir, hago una clase ...
  #1 (permalink)  
Antiguo 14/03/2009, 13:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Duda PHP orientado a objetos

Hola,

Si hago una clase en un archivo, y quiero llamar al mismo objeto desde dos archivos como se hace?

Es decir, hago una clase en un archivo

Código PHP:
class MyUser

    var 
$_user

    function 
__construct()
    {
        return 
$this->getUser();
    }

    function 
getUser()
    {
        if (empty( 
$this->_user )) {
                    
$this->_user "acciones sql "        
                
}
        return 
$this->_user;
    }


Desde un archivo hago

Código PHP:
class Archivo1{

$user = new MyUser();



Como hago para llamar al mismo objeto desde otro archivo sin que se repita el sql. Porque cuando hago otra vez

Código PHP:
class Archivo2{

$user = new MyUser();


se ejecutan otra vez todas las querys, es decir quiero tener el mismo $user en los dos archivos

Gracias y ya me diréis
  #2 (permalink)  
Antiguo 14/03/2009, 14:06
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Duda PHP orientado a objetos

Código php:
Ver original
  1. // En algun archivo comun creas una nueva instancia
  2. $user = new MyUser();
  3.  
  4.  
  5. // En los siguientes archivos (o funciones)
  6. class Archivo1 {
  7.     var $a1user;
  8.     // En el constructor
  9.     function Archivo1() {
  10.         global $user;
  11.         // Suponiendo que lo quieras como parte de esta clase
  12.         $this->a1user = $user;
  13.     }
  14. }
__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:56.