Audio premium

WRP 19. Refactorizar una aplicación legacy (Parte 2)

Continuamos refactorizando: abstracción, paquetes y microframeworks.

Duración total: 00:37:22

Escúchalo desde tu podcatcher

Acceso 100% online

Descripción del episodio

Continuamos refactorizando: abstracción, paquetes y microframeworks.

En el episodio anterior sentamos las bases de todo nuestro trabajo de refactorización. En este vamos a seguir avanzando hacia esa arquitectura MVC.

En las noticias repasaremos el nuevo sistema de formación tecnológica que se quiere implantar en España o los trucos para convertir una web 100% accesible en inaccesible. En el paseo por Github hablaremos sobre las novedades de Apple y asíncronía en PHP.

Además esta semana poníamos el broche final al audiocurso Marketing online para programadores, con un último episodio donde te cuento mis entretelas de estos dos últimos años para mejorar mi vida.

Siguientes pasos de la refactorización

En el episodio anterior sentamos las bases de todo nuestro trabajo de refactorización. En este vamos a seguir avanzando hacia esa arquitectura MVC.

Seguimos basándonos en el ejemplo de los últimos capítulos de Pro PHP Refactoring tal y como comentamos. Nos separamos algo más hoy de lo allí expuesto.

Gestor de dependencias

En algún momento debemos incluir un gestor de paquetes, para hacer más confortable el esfuerzo de gestionar las dependencias. No es para nuestro código principalmente, es para no preocuparnos en los siguientes pasos de añadir nuevas librerías de forma manual.

Así que como trabajamos contra PHP usaremos composer.

  • Puedes acceder al contenido completo (con todos los enlaces) si te suscribes.

Descomponiendo el código

Nos arrancamos ya a desmontar el código y convertirlo en otra cosa. Para eso tenemos los tests de regresión del episodio pasado. Recordar que nuestra interfaz siempre va a ser la misma y esos tests nos dan la seguridad de que estamos haciendo las cosas bien.

Utilizaremos la nomenclatura y estructura de ficheros propuesta por el PHP Standard Platform. Para reconvertir esos ficheros sueltos en métodos del mismo controlador aprovecharemos las funciones de captura de búfer que nos ofrece este lenguaje de programación.

Abstrayendo la conexión a la base de datos

Es el punto que parece más crítico. Pasar de nuestras consultas de MySQL embebidas a una sistema que no imponga la obligatoriedad de esta base de datos, es muy importante.

Todo lo que podamos desacoplar, nos facilitará la vida para seguir creciendo.

Mi recomendación es usar DBAL de Doctrine. Es un salto importante, así que mejor si vas aprendiendo en otro proyecto concreto cuestiones concretas de esta abstracción para luego pasar a nuestro proyecto de refactorización.

Peticiones y respuestas gestionadas por otro

Ahora llega el punto de capturar en controladores separados las peticiones y pasar a través de plantillas las respuestas en formato vista. Construimos aquí la V y la C de la arquitectura MVC.

Lo sé, hemos visto un montón de cosas en esta miniserie. Podemos ver en detalle las que más dudas te sugieran, no dejes de escribirme a través de los comentarios o el formulario de contacto para seguir construyendo nuestra ruta indomable hacia el código perfecto.

Suscríbete para disfrutar de todo este contenido :)

Podrás escuchar a:

Imagen de Daniel Primo

Daniel Primo

CEO en pantuflas de Web Reactiva. Programador y formador en tecnologías que cambian el mundo y a las personas.

¿Se puede aprender a programar escuchando formación en audio?

El sector del desarrollo es exigente y necesita de personas como tú bien informadas de las opciones existentes para crear aplicaciones web.

Además es la mejor forma para conocer las experiencias de otros y aprender de sus éxitos y errores en programación.

Imagen para ¿Se puede aprender a programar escuchando formación en audio?

Descubre todo lo que puedes conseguir sucribiéndote a Web Reactiva

Contenido nuevo todas las semanas

Una comunidad de developers colegas en telegram

Desafíos y retos de programación para que mejores tus habilidades

400 horas de contenido en audio y vídeo

Entrevistas y masterclass en directo con los/las mejores profesionales

Precio

19€Matrículaplus10€Al mes

  • Contenido disponible 24/7
  • Audios y videos
  • Retos y desafíos
  • Todo el código descargable
  • Comunidad de developers
  • Acceso premium completo