Foros del Web » Programando para Internet » PHP »

PHP OO Creacion de clases

Estas en el tema de Creacion de clases en el foro de PHP en Foros del Web. Hola cual es la mejor forma de crear y llamar una clase? Código PHP: class  miclase {    public  $mivariable ;    public function  mifuncion ()  {    echo  ...
  #1 (permalink)  
Antiguo 13/12/2010, 08:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Creacion de clases

Hola cual es la mejor forma de crear y llamar una clase?

Código PHP:
class miclase
{
   public 
$mivariable;

   public function 
mifuncion()
 {
   echo 
'hola mundo';
 }

}

$obj = new miclase();
$obj->mivariable '10';
$obj->mifuncion(); 

o crearla de esta otra forma.


Código PHP:
class miclase
{
   public static 
$mivariable;

   public function 
mifuncion()
 {
   echo 
'hola mundo';
 }

}


miclase::$mivariable 10;
miclase::mifuncion(); 

Yo siempre lo he hecho creando una instancias de la clase, pero he ledio alguna informacion que dice que es mejor usar las variables estatias y llamar a la clase y sus funciones con el uso del Operador de Resolución de Ámbito ya que no se esta creando una instancia de la clase, pero que tan cierto es esto y el uso de variables y funciones staticas son necesarias para este tipo de estructura ya que he probado y no necesariamente tengo que utilizar el static para llamar a una variable y funcion fuera de la clase con los ::

Gracias.
  #2 (permalink)  
Antiguo 13/12/2010, 09:05
 
Fecha de Ingreso: julio-2009
Mensajes: 42
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Creacion de clases

Veo que que declaras los atributos de tu clase como publicos... lo usual es hacer que estos sean privados por defecto y
utilizar el constructor de la clase para inicializarlos.

Código PHP:


class miclase 

   private 
$mivariable

 
//el constructor tambien puede tener el nombre de la clase
 
function __construct($valor)
 {
    
$this->mivariable=$valor;    
 } 

 
//como tu variable ahora es privada nesecitaras  metodos para trabajar con ella

 
public function set($nuevovalor
 { 
   
$this->mivariable=$nuevovalor
 }

 public function 
get() 
 { 
   return 
$this->mivariable 
 
}

  
//si la variable no utiliza ninguno de los atributos de instancia (variables) de la clase quizas te convenga hacerla static

 
public static function mifuncion() 
 { 
   echo 
'hola mundo'
 }




$obj = new miclase('10'); // aqui el 10 se asignara a la varible privada
$obj->mifuncion(); 
espero te sea util saludos...
  #3 (permalink)  
Antiguo 13/12/2010, 09:11
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 13 años, 4 meses
Puntos: 13
Respuesta: Creacion de clases

Si son estáticas o si has de instanciarlas depende del uso que le pienses dar a la clase.
Si pensas que solo vas a usar un objeto puede ser estática. ahora si vas a usar varias deberías usar con varias instancias.
Para más claridad lee sobre el patrón singleton y factory.
  #4 (permalink)  
Antiguo 13/12/2010, 10:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Creacion de clases

Gracias a los 2 por las respuestas.

Etiquetas: clases
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 08:13.