Buenas lecturas

Para quienes buscan un buen material de lectura apuntado a la programacion PHP – POO el libro POO para PHP5 de Enrique Place del cual puede leerse los primeros capitulos, ofrece buena informacion del tema. El costo (para la fecha de este post) es de 60 USD de todo el libro lo cual incluye el valor agregado de asistencia/soporte/ayuda de este material por unos foros y correos hacia el autor para aclarar dudas y cualquier otra situacion a solventar, es decir, es un curso con su material didactico.

En su lectura se explica muy bien y de una forma sencilla lo que son los objetos y su programacion, principios como el “leer el manual”, “no repetirse (codigo)”, el “mantenerlo simple”, haciendo el recordatorio de que lo importante no es el codigo principalmente, sino detectar los objetos dentro del contexto, donde una vez que se tenga claro el diseno conceptual es que se pasara a la codificacion.

Marca las diferencias de la Programacion Estructurada vs Programacion Orientada a Objetos (POO), comprension detallada del diseno UML, fortaleciendo la etapa de diseno para evitar a futuro lamentarnos de una mala base del proyecto, evitar el sobre-diseno y la sobre-ingenieria, evitar lo complejo, apegarse a lo sencillo lo cual es mas escalable y de mejor mantenimiento para cuando cresca, entendimiento de clases, sobre lo que son, lo que deberian ver y conocer y lo que no deberian hacer y alcance de accesos publicos y privados de esta de una forma correcta.

Sencillamente una lectura que no deberia dejarse pasar, si alguna vez compras un libro (pdf) por internet, este material es una buena eleccion de compra, su contenido y su valor agregado, asi lo indican. Yo por mi parte, en lo que pueda me apunto.

De los dos primeros capitulos no esta mal el ejemplo de CalcularEdad en base a la fecha, segui la practica pero no tan exacta al comparar, paginas 60-61 del libro.

    class Persona
    {
        private $fechaNac;

        public function __construct($fechaNac)
        {
            $this->_fechaNac = $fechaNac;
        }
        public function decirEdad()
        {
            return $this->_calcularEdad();
        }
        private function _calcularEdad()
        {
            $diaActual = date(j);
            $mesActual = date(n);
            $anioActual = date(Y);

            list($dia, $mes, $anio) = explode("/", $this->_fechaNac);

            // si el mes es el mismo pero el dia inferior aun
            // no ha cumplido anios, le quitamos un anio al actual

            if (($mes == $mesActual) && ($dia > $diaActual)) {
                $anioActual = $anioActual - 1;
            }

            // si el mes es superior al actual tampoco habra
            // cumplido el anios, por eso le quitamos aun anio al actual
            if ($mes > $mesActual){
                $anioActual = $anioActual - 1;
            }

            // ya no habria mas condiciones, ahora simplemente
            // restamos los anios y mostramos el resultado como su edad
            $edad = $anioActual - $anio;

            return $edad;
        }
    }

     // la salida:
    $persona = new Persona('8/3/1977');
    echo $persona->decirEdad();

Sobre otras muy interesantes lecturas se encuentra recopilado en la seccion de.interes de este sitio, si alguna de esas otras lecturas te parece interesante, no olvides agradecerselo a su autor con algun comentario en su sitio, cada articulo esta referenciado a la web de su autor.


About this entry