Laravel 7 incluye una nueva característica llamada «Fluent Strings» que nos permite trabajar cadenas con una interfaz fluida y orientada a objetos, permitiéndonos así manipular una cadena mediante la encadenación de múltiples métodos. Otro componente del framework que tiene una interfaz fluida es el constructor de consultas SQL de Laravel. En este video, haremos uso de esta nueva característica en el componente de campo de texto con Blade que creamos en una lección anterior de este Curso de Novedades de Laravel 7.
Mira el código en GitHub: actual, resultado, comparación.
Notas
Un objeto de la clase Stringable actúa como un Value Object, es un Objeto Inmutable, posee una Interfaz Fluida, soporta el uso de macros y puede ser tratado como una cadena a través del método mágico __toString, todos estos temas ya los hemos visto en nuestro Curso de programación orientada a objetos con PHP, así como en otros cursos aquí en Styde. Te invito a aprender más sobre estos temas para aumentar tus conocimientos sobre el framework Laravel, el lenguaje PHP y el paradigma de programación orientada a objetos.
Ejemplos de uso de Fluent Strings
Convertir una cadena en formato «camelCase»:
<?php use Illuminate\Support\Str; echo Str::of('create_notes')->camel(); // imprime createNotes
Verificar si una cadena contiene una sub-cadena:
<?php use Illuminate\Support\Str; Str::of('Laravel is a great framework')->contains('Laravel'); // Devuelve true
Dividir una cadena y convertirla en una colección:
<?php use Illuminate\Support\Str; Str::of('HTML, CSS, JS')->explode(', '); // Retorna: => Illuminate\Support\Collection {#955 all: [ "HTML", "CSS", "JS", ], }
Revisar si una cadena coincide con cierto patrón:
<?php use Illuminate\Support\Str; $matches = Str::of('inv-09-04-2020')->is('inv*2020'); // Devuelve verdadero
Nota que el asterisco acá actúa como un «comodín».
Determinar si una cadena no está vacía:
<?php use Illuminate\Support\Str; $result = Str::of(' ')->trim()->isNotEmpty(); // true
Puedes ver todos los ejemplos en la documentación del framework Laravel.
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Creación de un componente de formulario con Blade y Laravel 7 Lección siguiente Cambios y novedades en el desarrollo con pruebas a partir de Laravel 7