PHP
Un lenguaje del lado del servidor que corre buena parte de la web, incluidos WordPress y Wikipedia.
27 pasos en 1 tours, desde lo básico hasta programas completos.
Los tours
- Primera versión
- 1995
- Creado por
- Rasmus Lerdorf
- Tipado
- Dinámico con tipos declarados opcionales; strict_types hace que muerdan
- Los fragmentos siguen
- 8.5
- Extensiones de archivo
- .php
Para qué sirve
PHP sirve una porción asombrosa de la web: WordPress por sí solo impulsa dos quintas partes de todos los sitios, y sobre él corren Wikipedia, los orígenes del backend de Slack y un sinfín de herramientas internas. Se despliega como ningún otro — copias un archivo a un servidor y ya está en línea — y justo por eso una generación de programadores publicó en él su primera página dinámica. Ningún currículum abre con PHP, y una cantidad enorme de sueldos depende de él.
El PHP moderno es un lenguaje distinto del de su reputación. PHP 7 duplicó el rendimiento; PHP 8 sumó un JIT, enums, expresiones match, argumentos con nombre, promoción de propiedades en el constructor y encadenamiento null-safe. Composer le dio un ecosistema de dependencias tan bueno como cualquiera, y frameworks como Laravel y Symfony son la razón de que el lenguaje siga ganando proyectos nuevos, no solo heredados.
Sus asperezas se las ganó a pulso: una biblioteca estándar con nombres inconsistentes (strlen pero str_word_count), arreglos que son listas, mapas y ninguna de las dos cosas, y una historia de malabares de tipos por la que strict_types existe para pedir disculpas. Saber dónde están los filos — y escribir el dialecto moderno y tipado que los evita — es lo que separa al PHP actual del que se copia y pega.
De dónde viene
Rasmus Lerdorf escribió las herramientas Personal Home Page en 1994 para contar las visitas a su currículum, y publicó PHP/FI en 1995. Siempre ha sido franco en que el lenguaje creció en vez de diseñarse — sus inconsistencias tempranas datan de una época en que era una capa de plantillas, no un lenguaje.
PHP 3 (1998) reescribió el núcleo y acuñó el nombre recursivo PHP: Hypertext Preprocessor; el Zend Engine de PHP 4 (2000) lo hizo lo bastante rápido para aplicaciones reales, y PHP 5 (2004) trajo un modelo de objetos de verdad. El PHP 6 abandonado dejó cicatriz — los planes de Unicode colapsaron — así que la siguiente versión fue la 7.
PHP 7 (2015) duplicó el rendimiento en el mundo real e hizo declarables los tipos; PHP 8 (2020) sumó el JIT, los atributos, los enums y match. La cadencia anual de lanzamientos desde entonces ha ido deprecando las trampas heredadas, y por eso 'PHP moderno' nombra un dialecto genuinamente distinto del de los tutoriales de 2005 que fijaron su reputación.
Cómo se siente teclearlo
PHP se teclea con la puntuación que otros lenguajes reservan para ocasiones especiales: un signo de dólar abre cada variable, los métodos llegan por ->, los miembros estáticos por ::, y la interpolación de cadenas se traga ambos. La doble flecha => construye cada arreglo asociativo. Tu mano derecha vive en la fila de los signos, que es exactamente la memoria muscular que estos fragmentos entrenan — espera primeros intentos más bajos que en lenguajes de aspecto más limpio, y avances rápidos.
27 pasos en 1 tours, desde lo básico hasta programas completos.