¿El desarrollo web con PHP es cosa de viejunos?

Autor: | Última modificación: 21 de enero de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post:

Es demasiado habitual recibir críticas y burlas cuando dices que trabajas programando en PHP. No tanto como cuando alguien dice que lo hace en Cobol, pero así es, si quieres aprender a desarrollar web en PHP, es la advertencia: es un lenguaje con mala fama.

Sin embargo, Wordpress, el CMS más popular del mundo y que ya supone el 28% de todas las webs publicadas en internet, está programado en PHP. Y no sólo eso, muchos de los gestores de contenidos y frameworks más populares hoy en día están escritos en PHP. Y por ende, las ofertas de trabajo que piden dominar Symfony, Drupal o Laravel están a la orden del día.

Pero claro, seguro que eres mucho más popular diciendo que trabajas con Go, Node.js, React o Angular, pero que los árboles no te impidan ver el bosque. Hay una realidad muy clara: PHP se sigue usando en el mundo web, y mucho.

¿Entonces por qué PHP tiene mala fama?

meme-samuel-does-he-looks-like-a-bitch

1. Desconocimiento

La gente habla mal de PHP porque no lo conoce. Pero no sólo gente ajena a este lenguaje, sino que el desconocimiento llega incluso a los propios programadores. En 2009, por ejemplo, PHP introdujo las Closures, y si no hubiese sido por Symfony, a día de hoy la gente casi ni las usaría. Y es que PHP no duda en adaptar características que puedan serle útiles. Si quieres programar en PHP, debes saber que tienes clases, interfaces, reflections, proxys, magic methods, etc. Lo único que te impide utilizarlos si quieres tener un código correctamente estructurado es tu capacidad y conocimiento.

2. Libertad

Virtud y defecto a partes iguales. Si quieres un set de herramientas prefabricadas que te faciliten y guíen a la hora de crear un código ordenado y separado por capas, puedes recurrir a Symfony o Zend, dos de los frameworks que han sido creados para ello. Pero si quieres desarrollar bajo MVC, no tienes más que utilizar Doctrine como ORM para el modelo, Symfony para el controlador y Twig para la vista. Se puede hacer basura con más facilidad, sí, pero es el precio que se paga por dar al desarrollador libertad casi total en el manejo del lenguaje, como ocurre en JavaScript. Pero no olvides algo básico: es tu responsabilidad, no del lenguaje, escribir buen código.

El pasado de PHP

PHP fue creado en 1995 por Rasmus Lerdorf. Basándose en C, creó un conjunto de scripts para contabilizar las visitas a su página web y lo llamó «Personal Home Page Tools». En su cabeza no estaba crear un nuevo lenguaje de programación. Todavía.

Desde entonces PHP se ha reescrito y rediseñado varias veces. Con PHP 4 apareció el motor Zend Engine, Y no fue hasta PHP 5 (2004) cuando el lenguaje soportó la orientación a objetos.

PHP 6 fue una piedra en el camino que ralentizó el desarrollo del lenguaje. Entre otras mejoras se trató de dar soporte a Unicode, pero el plan no salió bien y se optó por portar las mejoras que sí funcionaban a la rama de PHP 5 (lo que fue PHP 5.4), seguir evolucionando esa versión (que llegó hasta PHP 5.6) y empezar de cero con PHP 7.

Andrei Zmievski, el hombre que lideraba el proyecto de PHP 6 explica todos los problemas encontrados en su charla The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6.

El presente: Php 7.0

PHP 7.0 se liberó en diciembre de 2015 tras una larga espera, pero mereció la pena ya que la mejora de rendimiento ha sido notable.

diferencia-entre-php-5-y-7

Pero no sólo el rendimiento y el uso de memoria ha mejorado, sino que se han resuelto importantes problemas de inconsistencia y de gestión de tipos.

Entre los principales escollos para la migración de PHP 5 a PHP 7 estaba la eliminación de todo lo que ya estaba marcado como deprecated, como las extensiones de mysql, las funciones preg_replace o la posibilidad de usar una función con el mismo nombre de la clase como constructor.

Esos han sido los principales cambios a revisar para portar un plugin o un módulo a la versión 7.

Mejoras en PHP 7

  • Velocidad.
  • Declaración de tipos en los argumentos de las funciones
  • Nuevos tipos de variable escalares y la posibilidad de habilitar un modo estricto de tipos
  • Declaración de tipo del return de las funciones
  • Mejora en la gestión de errores y excepciones y la nueva interfaz Throwable; ahora los errores fatales se gestionan como excepciones.
  • Funciones y clases anónimas.
  • Posibilidad de agrupar las clases cuando se importan
  • Nuevos operadores como el Null coalesce o el spaceship operator (< = >)

En este post se puede leer en detalle sobre estos cambios y ver ejemplos de su uso.

¿Por qué usar PHP?

Entre las ventajas de PHP destacan su favorable curva de aprendizaje, la ausencia de licencias al ser Open Source, entornos de desarrollo de muy fácil configuración y una amplia comunidad.

Es sencillo aprender a programar en PHP. Pero como decíamos antes, otra virtud que mal ejecutada se convierte en defecto. Es fácil programar algo sin pies ni cabeza sin saber lo que se está haciendo y de ahí vienen sus principales críticas.
Pero aprendiendo a usar el lenguaje de la forma correcta y aprovechando todo lo que ya te dan, y utilizando cualquiera de los principales frameworks del lenguaje, se pueden construir webs con PHP y servicios de manera rápida y fiable (sin ir más lejos, a través de este link podrás ver el webinar donde construiremos una web que será tu lista de tareas. En una hora. Not bad, ¿eh?)

Pero por muchas razones que enumere, quienes lo odian lo seguirán haciendo. Y quienes saben aprovechar su potencial, también lo seguirán haciendo.leonardo-di-caprio-meme-haters-gonna-hate

Empresas como Etsy no tienen reparos en admitir que usan PHP y que están contentos con ello. Slack también usa PHP y en este post analiza sus virtudes y defectos. Tumblr habla en su blog de su migración a PHP 7 y las mejoras de rendimiento.

Facebook comenzó en PHP y posteriormente desarrollaron el lenguaje Hack adaptando PHP a sus necesidades y la máquina virtual HHVM.

A día de hoy, PHP 7 y frameworks como Laravel no tienen nada que envidiar a otros lenguajes y sus frameworks como Ruby con Django o Ruby con Ruby on Rails.

Para que juzgues por ti mismo lo que te puede ofrecer PHP, te invitamos a que veas el webinar sobre PHP con Alicia Rodríguez, programadora backend.

YouTube video

[email protected]