Laravel Prompts fue lanzado hace unas semanas en la LaraconUS 2023. Es un paquete PHP que nos ofrece una forma amigable de construir aplicaciones de línea de comandos. Podemos usarlo junto con los comandos Artisan que nos provee Laravel.
Soporta macOS, Linux y Windows usando WSL.
Tenemos los siguientes componentes:
Con esta función podemos solicitar que el usuario ingrese en un campo de texto.
1$name = text(2 label: 'Ingrese su nombre',3 placeholder: 'Gokú',4 required: true5);
También podemos añadirle validaciones.
1$email = text(2 label: 'Ingrese su email',3 placeholder: 'goku@dbz.com',4 required: true,5 validate: fn (string $value) => match (true) { 6 !preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/", $value) => 'EL email es inválido',7 default => null8 }9);
Con esta función podemos solicitar que el usuario ingrese un texto secreto.
1$password = password(2 label: 'Ingrese su password',3 required: true,4)
Con esta función podemos solicitar que el usuario confirme una acción.
1$isAdmin = confirm(2 label: '¿Es Administrador?',3);
Con esta función podemos solicitar que el usuario seleccione una opción entre varias.
1$maritalStatus = select(2 label: '¿Estado Civil?',3 options: [4 'Soltero',5 'Casado',6 'Divorciado',7 'Viudo'8 ]9);
Con esta función podemos solicitar que el usuario seleccione una o más opciones entre varias.
1$interests = multiselect( 2 label: '¿Cuáles son sus intereses?', 3 options: [ 4 'Deportes', 5 'Farándula', 6 'Comida', 7 'Viajes', 8 'Política' 9 ]10);
Con esta opción podemos sugerir algunas opciones al usuario, pero si desea puede ingresar una nueva.
1$hobbies = suggest(2 label: '¿Cuáles son sus hobbies?',3 options: [4 'Jugar videojuegos',5 'Ir al cine',6 'Jugar fútbol'7 ]8);
Con esta opción podemos mostrarle al usuario las opciones de acuerdo a los que escribe.
1$country = search(2 label: '¿Cuál es su país?',3 options: fn(string $value) =>4 Country::where('name', 'like', "%{$value}%")5 ->pluck('name', 'id')6 ->all()7);
Como pueden ver con estos componentes podemos construir nuestras aplicaciones para la terminal con una mejor experiencia de usuario. También podemos usarlo en aplicaciones PHP que no usen Laravel.
Si desean conocer más pueden visitar la documentación.
Tendrás tutoriales, tips, conceptos y puedas convertirte en un artesano de todo el ecosistema Laravel.
Revisa los detalles del nuevo curso en desarrollo