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

Clase por parametro

Estas en el tema de Clase por parametro en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estimados tengo una duda si tengo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php Class Pepito {       private $nombre ;       ...
  #1 (permalink)  
Antiguo 13/08/2012, 17:02
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Clase por parametro

Estimados tengo una duda

si tengo


Código PHP:
Ver original
  1. <?php
  2. Class Pepito
  3. {
  4.      private $nombre;
  5.  
  6.      public function setNombre($nombre)
  7.      {
  8.        $this->nombre = $nombre;
  9.         return $this;
  10.      }
  11.      
  12.      public function getNombre()
  13.     {
  14.        return $this->nombre;
  15.     }
  16. }
  17.  
  18. Class Test
  19.  
  20.      public function __construct(Pepito $pepe)
  21.      {
  22.             //esto es posible?
  23.             echo $pepe->getNombre();
  24.      }

eso es posible ?

si esto fuera posible, ¿es tambien posible guardar una collecion de pepitos e iterarlos en el constructor?
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #2 (permalink)  
Antiguo 13/08/2012, 17:03
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Clase por parametro

lo probaste ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 13/08/2012, 18:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Clase por parametro

no, no es posible</sarcasmo>
  #4 (permalink)  
Antiguo 13/08/2012, 19:15
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Clase por parametro

Me habia faltado instanciar la clase.
Código PHP:
Ver original
  1. <?php
  2. /**
  3. *
  4. */
  5. class Usuario
  6. {
  7.     private $nombre;
  8.     private $apellido;
  9.  
  10.     public function getNombre()
  11.     {
  12.         return $this->nombre;
  13.     }
  14.  
  15.     public function setNombre($nombre)
  16.     {
  17.         $this->nombre = $nombre;
  18.         return $this;
  19.     }
  20.  
  21.     public function getApellido()
  22.     {
  23.         return $this->apellido;
  24.     }
  25.  
  26.  
  27.     public function setApellido($apellido)
  28.     {
  29.         $this->apellido = $apellido;
  30.         return $this;
  31.     }
  32.    
  33.     function __construct()
  34.     {
  35.         # code...
  36.     }
  37. }
  38.  
  39. /**
  40. *
  41. */
  42. class Registro
  43. {
  44.    
  45.     function __construct(Usuario $user)
  46.     {
  47.         echo $user->getNombre().' '.$user->getApellido().' ha sido registrado';
  48.     }
  49. }
  50.  
  51. $user = new Usuario();
  52. $user->setNombre('test')->setApellido('user');
  53. $registro = new Registro($user);

¿esto si es posible guardolo en una colletion o un array?
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #5 (permalink)  
Antiguo 13/08/2012, 20:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Clase por parametro

No para nada, no puedes pasar clases en un método de otra clase.</sarcasmo>Hasta que lo pruebes vas a ver que funciona y bien.

Etiquetas: clase, class, parametro, php
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 16:48.