Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2010, 00:29
negro1985
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Clase para calculo de edad

Hola como estoy realizando un proyecto para una escuela y estaba acostumbrado a programar con estructuras en php, me decidi esta vez por la POO para el proyecto sin saber nada de clase y objetos y leyendo y practicando he avanzado mucho en poco tiempo, no soy experto ni mucho menos el mejor, pero intento hacerlo lo mejor que puedo, acabo de realizar una clase para calcular la edad solo basta con ingresar la fecha de nacimiento en el formato AAAA-MM-DD, sin mas aqui la dejo para cualquiera que la pudiese necesitar, y por cierto voy a ir subiendo las clases que vaya generando junto con mi proyecto

Edad.class.php
Código PHP:
<?php
class Edad
{
    private 
$fecha_nacimiento;
    
    public function 
__construct($fecha_nacimiento)
    {
        
$this->fecha_nacimiento=$fecha_nacimiento;
    }
    
    private function 
dia()//Día de la fecha de nacimiento
    
{        
        
$fecha=explode("-",$this->fecha_nacimiento);
        
$dia=$fecha[2];
        
        return 
$dia;
    }
    private function 
mes()//Mes de la fecha de nacimiento
    
{        
        
$fecha=explode("-",$this->fecha_nacimiento);
        
$mes=$fecha[1];
        
        return 
$mes;
    }
    private function 
anio()//Año de la fecha de nacimiendo
    
{        
        
$fecha=explode("-",$this->fecha_nacimiento);
        
$anio=$fecha[0];       
        
        return 
$anio;
    }
    private function 
getmes()//Mes actual
    
{
        
$hoy=explode("-",date("Y-m-d"));        
        
$mes=$hoy[1];
        return 
$mes;                
    }
    private function 
getanio()//Año actual
    
{
        
$hoy=explode("-",date("Y-m-d"));        
        
$anio=$hoy[0];
        return 
$anio;                
    }
    private function 
getdia()//Día actual
    
{
        
$hoy=explode("-",date("Y-m-d"));        
        
$dia=$hoy[2];
        return 
$dia;                
    }
    private function 
calculo()//Calculo de la edad actual
    
{
        
$cumplidos=$this->getanio()-$this->anio();
        return 
$cumplidos;
    }
    public function 
calcular_edad()//Calculo de la edad con la codicion de que si no ha llegado a la fecha exacta de nacimiento no imprime la edad que en el año actual deberia cumplir
    
{
        
$edad=$this->calculo();
        if(
$this->getmes()>=$this->mes() && $this->getdia()>=$this->dia()){//Verifica que si el mes y dia son iguales a los de su nacimiento
            
return $edad;
        }else{
            
$edad=$edad-1;
            return 
$edad;
        }
    }
    
    public function 
__destruct()
    {
        
$this->fecha_nacimiento;
    }
}
$edad=new Edad("1985-07-22");//Ejemplo de uso
echo $edad->calcular_edad();
?>
Se aceptan comentarios y criticas para mejorarla