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