Nuevo en Symfony 4.3: Enlaces en la consola

Symfony 4.3 se publicará a finales de mayo de 2019. Este artículo es el primero de una serie de artículos que explican las nuevas funcionalidades más importantes añadidas en esta version.


Crear interfaces de consola avanzadas es importante para la mayoría de aplicaciones, incluso aquellas que no están basadas en la consola pero incluyen algunos comandos para ciertas tareas.

Una de las funcionalidades más importantes que las aplicaciones de consola no soportan todavía son los enlaces. Aunque la mayoría de terminales de consola detectan las URLs y te permiten pinchar en ellas con una combinación de teclas, no es posible mostrar un texto pinchable que apunte a una URL arbitraria.

No obstante, algunos creadores de emuladores de consola liderados por iTerm2 y GNOME Terminal, han decidido trabajar en una nueva especificación para añadir soporte para enlaces. Por eso Symfony 4.3 añade soporte para mostrar enlaces en la consola mediante la siguiente sintaxis:

// sintaxis para enlaces: <href=LA_URL_DEL_ENLACE> EL_TEXTO_DEL_ENLACE </>
$output->writeln('<href=https://symfony.com>Sitio web de Symfony</>');
$output->writeln('<href=https://github.com/symfony/symfony/issues/29585>Ver Issue</>');

Si tu terminal es compatible, verás los enlaces de esta manera:

En Symfony hemos empezado a utilizar esta funcionalidad para mejorar la experiencia de usuario en los enlaces mostrados en consola por VarDumper.

Si tu terminal no soporta los enlaces, se muestran como cualquier otro texto normal y no verás las URLs. Así que solo debes utilizar esta funcionalidad si tu terminal está en la lista de terminales que soportan el uso de enlaces.


Esta funcionalidad fue contribuida por Gabriel Ostrolucký en el pull request #29168.

Fuente: New in Symfony 4.3: Console Hyperlinks

Comentarios

Publicada el

21 de diciembre de 2018

Etiquetas

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.