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

PHP OO Setear propiedades o método con parámetros

Estas en el tema de Setear propiedades o método con parámetros en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, ¿Qué sería lo más adecuado? Código PHP: // Opción 1 class  cPersona {     private  $Nombre      private  $Apellidos      private  $Edad           public function  __construct ( ...
  #1 (permalink)  
Antiguo 07/07/2012, 13:05
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Setear propiedades o método con parámetros

Hola,

¿Qué sería lo más adecuado?
Código PHP:
// Opción 1
class cPersona
{
    private 
$Nombre
    
private $Apellidos
    
private $Edad
    
    
public function __construct($Nombre$Apellidos$Edad)
    {
        
$this->Nombre $Nombre;
        
$this->Apellidos $Apellidos;
        
$this->Edad $Edad;
    }
}

// Opción 2
class cPersona
{
    private 
$Nombre
    
private $Apellidos
    
private $Edad
    
    
public function __construct()
    {
    }
    
    public function 
SetNombre ($Nombre)
    {
        
$this->Nombre $Nombre;
    }
    
    public function 
SetApellidos ($Apellidos)
    {
        
$this->Apellidos $Apellidos;
    }
    
    public function 
SetEdad ($Edad)
    {
        
$this->Edad $Edad;
    }

¿Hay algún tipo de convención?

Gracias!
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #2 (permalink)  
Antiguo 07/07/2012, 14:31
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
Respuesta: Setear propiedades o método con parámetros

Existe PSR-1.

Saludos.
  #3 (permalink)  
Antiguo 07/07/2012, 16:49
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: Setear propiedades o método con parámetros

Mmm... Me he leído el PSR-0, 1 y 2 y ninguno responde a mi pregunta.
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #4 (permalink)  
Antiguo 07/07/2012, 17:11
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: Setear propiedades o método con parámetros

No hay convención al respecto pero lo normal es que pases por constructor las dependencias obligatorias para que la clase funcione correctamente, en el ejemplo que muestras da un poco igual.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 08/07/2012, 05:34
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: Setear propiedades o método con parámetros

Bueno, lo que puse no es más que un ejemplo.

Puedo poner otro:
Código PHP:
class cMailer
{
    private 
$Asunto;
    private 
$Cuerpo;
    private 
$De;
    private 
$Para;
    
    
/* Métodos setter correspondientes para las propiedades */
    
    
public function Enviar ()
    {
        
/* Envío mensaje cogiendo las propiedades */
    
}
}

class 
cMailer
{
    public function 
Enviar ($Asunto$Cuerpo$De$Para)
    {
        
/* Envío mensaje cogiendo los parámetros */
    
}

Nota, este al igual que el anterior no son más que ejemplos para explicar mi pregunta. La respuesta puede ser más genérica.

Básicamente, ¿en qué casos usar parámetros y en cuales propiedades?

¿Cuándo sean de un sólo uso usar parámetros y cuándo se puedan volver a aprovechar usar propiedades para no tener que andar a pasarlas?
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #6 (permalink)  
Antiguo 08/07/2012, 05:45
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Setear propiedades o método con parámetros

Lo normal es pasar parámetros a los métodos cuando:

1 - Sean necesarios para su funcionamiento (del método) y no estén disponibles en los atributos de clase.
2 - Sobreescriban valores de atributos de clase (setters)

En los demás casos, lo conveniente es utilizar los atributos de clase. Si no, ¿para que los quieres?

Etiquetas: class, propiedades
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 23:23.