Saltar al contenido principal

Prettier para PHP 0.1: Primer lanzamiento alpha 🎉

· 3 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Tras más de 200 pull requests fusionados desde mediados de diciembre de 2017, nos complace anunciar el primer lanzamiento alpha de Prettier para PHP. En esta publicación, ofreceremos una breve descripción de cómo funciona el plugin, su filosofía y qué esperar en el futuro.

¿Cómo funciona?

Agregar soporte para un nuevo lenguaje en Prettier requiere dos componentes:

  • Un parser, que convierte tu código fuente en un árbol de sintaxis abstracta (AST). Dado que Prettier está escrito en JavaScript, usamos php-parser, un parser de PHP desarrollado en JS.

  • Un printer, que transforma el AST en un formato especial llamado doc que Prettier necesita para su magia. Básicamente es tu código fuente más información sobre dónde agregar saltos de línea, cómo indentar, etc.

Aunque aprovechamos trabajos existentes para el parser, el printer se desarrolló desde cero para soportar todos los tipos de nodos AST de PHP. Este primer lanzamiento alpha significa que confiamos en que el printer puede reformatear tu código sin romperlo.

Para más detalles sobre la API de plugins, consulta la documentación.

Filosofía

Al crear un formateador de código, es tentador agregar muchas opciones para cubrir todos los estilos existentes. El plugin para PHP mantiene la filosofía opinada de Prettier sin añadir nuevas opciones. En su lugar, identificamos PSR-1, PSR-2 y PSR-12 como los estándares más populares en la comunidad PHP, y decidimos usarlos como guía para formatear nuestro código PHP.

Por nuestra experiencia con Prettier para JavaScript, creemos que ofrecer mínimas opciones de configuración es una de sus mayores virtudes. Tras el lanzamiento estable, consideraremos añadir un conjunto muy limitado de opciones para decisiones controvertidas (como el estilo de llaves), pero manteniendo un enfoque conservador.

Próximos pasos

Para nuestro primer lanzamiento estable, debemos alcanzar estos hitos:

  1. Garantizar 100% que no se rompe código al formatear.

    Ya estamos muy cerca de este objetivo.

  2. Salida estética

    El plugin no merecería su nombre si la salida no es bonita. Aunque actualmente es bastante buena, manejar todos los casos extremos requerirá más trabajo.

  3. Integraciones

    Hoy puedes probar el plugin desde la línea de comandos siguiendo las instrucciones del README. El soporte en editores podría no funcionar aún (ver incidencias en VS Code, Atom y Vim). Tampoco está integrado en el playground de Prettier.

¿Te entusiasma Prettier para PHP? Ayúdanos a alcanzar el lanzamiento estable: