Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Objeto dentro de una clase

Estas en el tema de Objeto dentro de una clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Bueno. me estreno en este foro con una duda muy tonta pero que no se como hacerlo en php.... Quiero saber como declaro como miembro ...
  #1 (permalink)  
Antiguo 19/07/2007, 12:14
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 1
Información Objeto dentro de una clase

Bueno. me estreno en este foro con una duda muy tonta pero que no se como hacerlo en php....


Quiero saber como declaro como miembro de una clase, un objeto...
...tan dificil como eso. Me volvi loco buscando y no se como.

Vendria a ser algo asi lo que quiero hacer

Código PHP:
<?
class Clase1
{
        
$obj = new Clase2();
        ...
        ...

       public function 
funcion()
      {
           
$obj->metodo();
       }

      public function 
__construct($aux)
      {
           
$obj $aux;
      }
}
?>
Obviamente, de todas las formas que probe me tiran dos errores.
-O que esperaba una variable u otra cosa en la definicion del objeto
-O que cuando llamo a $obj->metodo() estoy llamando a un non-object (porque supongo que lo habre definido como una variable en ese momento

Aviso que esa mismo objeto se lo paso como parametro al constructor

ayudenme, no puede ser que me haya trabado tanto tiempo en algo tan tonto
(en realidad estoy aprendiendo php con objetos por mi cuenta, y parece que trabajar dos años en VB me calcino las neuronas ;) )

Saludos y gracias!
  #2 (permalink)  
Antiguo 19/07/2007, 12:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Objeto dentro de una clase

Código PHP:
<?
class Clase1
{
       private 
$obj;

       public function 
funcion()
      {
           
$this->obj->metodo();
       }

      public function 
__construct($aux)
      {
           if( !
$aux ) {
                 
$this->obj = new Clase2();
           } else {
                 
$this->obj $aux;
           }
      }
}
?>
Saludos.
  #3 (permalink)  
Antiguo 20/07/2007, 13:49
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Objeto dentro de una clase

gracias master me salvastes
...amo este foro :D
  #4 (permalink)  
Antiguo 21/07/2007, 14:25
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Objeto dentro de una clase

gracias a este ejemplo me pude guiar YA QUE ANDO INICIANDO EN ESTO DE LA CLASES CON PHP pero sigo teniendo el mismo problema de los de la comas, los corteches y me sigue dando error (syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}')etc.

tengo el archivo(A).php una clase que tiene un metodo ver_users que le sirve a mi archivo(b).php ya que en este tengo una clase MyClass que por medio de un metodo llama al metodo ver_users de clase en el archivo(A).php.. el server maneja php 4.4


Código:
include("archivo(A).php"); 

class MyClass {


 private $var;
   	
	  public function __construct()  { 

             $this->var =  new clase_archivo_A();
        
          }
	   
	
	function metodo_myclass()  {
	    
		$this->var->ver_usuers();
		
       }

}
nota con el constructuor unicio la clase_archivoA() y claro ahora no estoy poniendo un valor de retorno en metodo_myclass porque primero tengo que ver porque me marca ese error de no detectar el objeto dentro de la clase
gracias por su ayuda
__________________
solo firma
  #5 (permalink)  
Antiguo 21/07/2007, 15:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Objeto dentro de una clase

Te recomiendo usar un ide como NetBeans, Phped, o alguno para que veas porque estas teniendo errores de parseo, ya que estos es dificil verlos a simple vista, yo no puedo ver donde tienes el problema ya que no estas poniendo donde esta, PHP te marca en que linea y en que archivo es dodne encuentra el problema.

Saludos
  #6 (permalink)  
Antiguo 22/07/2007, 11:58
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Objeto dentro de una clase

pues el error me lo marca a qui

Código:
 public function __construct()  {
o cambio a var por publica pues igual ahi me marca el error pero bueno de todas maneras gracias al menos la clase no esta tan mal pero veo que se convirtio en un caso para la araña, hare todo de nuevo y desde cero y ya si sigue con lo mismo algo debe de andar mal con la configuracion de php
__________________
solo firma
  #7 (permalink)  
Antiguo 22/07/2007, 14:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Objeto dentro de una clase

Que version de PHP tienes?
  #8 (permalink)  
Antiguo 22/07/2007, 14:39
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Objeto dentro de una clase

la version es la 4.4.7
y si viendo en la documentacion me encuentro con lo siguiente
la version de php 5 require esto

Código:
class BaseClass {
   function __construct() {
       print "In BaseClass constructor\n";
   }
}
la version de php 4 solo es poner el constructor con el nombre de la clase
Código:
class Auto_Carrito extends Carrito {
    function Auto_Carrito() {
        $this->agregar_item("10", 1);
    }
}
entonces haciendo unos ejemplos de prueba que no he probado en el servidor online tengo lo siguiente

veruser.php q tiene
Código:
<?
include("test2.php");
$SelectSuers = new MyClassd();
$result = $SelectSuers->MyClass();
echo $result
?>
test2.php q tiene
Código:
<?php
include("test3.php"); 

class MyClassd {

    var $nwClass;
	var $resultado;
    
	//este seria mi constructor
	   function MyClassd ()  { 
       
    $this->nwClass = new MyClasst();
  }
	
  
	function ver_users (){	   
	
	    $this->resultado = $this->nwClass->ver_users();
		return ($this->resultado);	
		
    }
}

?>
y test3 .php que tiene

Código:
class MyClasst {
   
	var $nombre;  
// este seria mi constructor 	
	  function MyClasst()  {       
    
  }
  
	function ver_users (){	
	   $this->nombre = "El usuario es fernando"
		return ($this->nombre);			
    }
}
haaaaaaa esto del os tres archivos lo hago porque estoy haciendo mi propio modelo de negocios basado en 3 capas ( presentacion, negocios y acceso de datos) como suelo hacerlo en .net claro estoy inventandolo de acuerdo a mis ideas ..

pero si veo que las ches versiones php me esta dando mucha lata porque hay ejemplos pero no te dicen para qe version de php es si las 4 o 5
__________________
solo firma
  #9 (permalink)  
Antiguo 22/07/2007, 15:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Objeto dentro de una clase

Me imagine que estabas usando una version anterior, si te es posible te recomiendo que te mudes a la version 5 de PHP, ya que el soporte que tiene para OOP es mucho mejor que la version 4.

Me parece muy bien que estes usando el modelo de 3 capas, es la forma ideal a mi parecer de trabajar con OOP.

Saludos.
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 04:44.