Todos los artículos

Nuevos String Helpers y mejoras de ServeCommand en Laravel 11.14

Julian Beaujardin
Julian Beaujardin July 2nd, 2024

El equipo de Laravel lanzó la versión 11.13 a mediados de la semana pasada y la versión 11.14 esta semana. Estas versiones añaden nuevos métodos de cadenas como chopStart y chopEnd, soporte para la extensión Commonmark con el método markdown de Laravel String, un método Number::pairs(), y más.

Métodos de cadena chopStart y chopEnd (v11.13)

Tim MacDonald contribuyó con dos métodos de cadena para cortar caracteres al inicio o al final de una cadena. Los métodos chopStart y chopEnd están disponibles utilizando la clase Str o Stringable:

Str::chopEnd('path/to/file.php', '.php');

// "path/to/file"

Str::chopStart('https://laravel.com', ['https://', 'http://']);

// laravel.com

Agregar Soporte para Extensiones a Str::markdown() y la Clase Stringable

Tony Lea contribuyó con soporte para pasar extensiones de Commonmark como un tercer parámetro al método Str::markdown():

$html = Str::markdown($markdown_contents, [], [
    new AttributesExtension(),
    new TaskListExtension(),
]);

En Laravel 11.14, Luke Downing siguió la contribución de Tony Lea añadiendo soporte para extensiones de Commonmark a la clase Stringable:

$html = str('# My Heading')->markdown(
    extensions: [new HeadingPermalinksExtension()]
);

TokenGuard Macroable (v11.13)

@Iman añadió el trait Macroable en la clase TokenGuard para soportar macros personalizadas en este guard. Consulta Pull Request #51922 para más detalles.

Agregar Number::pairs() (v11.13)

Adam Campbell contribuyó con el método Number::pairs() que proporciona la capacidad de dividir un número en pares de valores mínimos/máximos. Es algo así como un deslizamiento, excepto que el método determinará los valores por ti:

$output = Number::pairs(25, 10);

// [[1, 10], [11, 20], [21, 25]]

$output = Number::pairs(25, 10, 0);

// [[0, 10], [10, 20], [20, 25]]

$output = Number::pairs(10, 2.5, 0)

// [[0, 2.5], [2.5, 5.0], [5.0, 7.5], [7.5, 10.0]]

Marcar Parámetros Sensibles con el Atributo SensitiveParameter de PHP (v11.14)

Philip Iezzi contribuyó con actualizaciones a Laravel para intentar marcar parámetros sensibles con el atributo SensitiveParameter de PHP >= 8.2. Este es un excelente recordatorio para aprovechar este atributo en el código de la aplicación si usas PHP >= 8.2.

Consulta Pull Request #51940 para más detalles.

Mejoras al Comando artisan serve

Seth Phat contribuyó con mejoras al comando artisan serve:

  • Imprimir un mejor tiempo de solicitud, para solicitudes que toman menos de 1 segundo, ~0s no parece útil en absoluto.
  • Mostrar la ruta de la solicitud en lugar de "........."

Las solicitudes que toman menos de 1 segundo ahora imprimen el tiempo en milisegundos en lugar de 0s:

Notas de la Versión

Puedes ver la lista completa de nuevas características y actualizaciones a continuación y la diferencia entre 11.12.0 y 11.14.0 en GitHub. Las siguientes notas de la versión son directamente del changelog