Todos los artículos

Los comandos de Artisan eliminan automáticamente la extensión .php en Laravel 11.12

Julian Beaujardin
Julian Beaujardin Reference: Laravel News June 26th, 2024

Esta semana, el equipo de Laravel lanzó la versión 11.12, que incluye un método de colección de multiplicación, elimina automáticamente la extensión .php en los comandos make, y más.

Eliminar la Extensión PHP al Pasar Comandos make (v11.11.1)

Jason McCreary contribuyó con una buena característica de DX al pasar .php a los comandos make:* para generar archivos para cosas como controladores, eventos, comandos, etc. Nada cambia, excepto que ahora Laravel maneja la extensión .php tras bambalinas:

php artisan make:controller UserController.php
# Antes - app/Http/Controllers/UserController.php.php
# Después - app/Http/Controllers/UserController.php

Es doloroso cuando haces esto accidentalmente porque tienes que mover los archivos o eliminarlos y recrear todo. No está claro si el comando se encargará de eliminar la extensión al escribir, por lo que esto es un buen toque para un dolor oculto, al menos para mí.

Agregar Método multiply() a las Colecciones

Patrick O'Meara contribuyó con un método multiply() a las colecciones, que multiplica los elementos en la colección. Funciona multiplicando los valores existentes en la colección x número de veces:

$c = collect([
    ['name' => 'Usuario #1', 'email' => 'usuario1@example.com'],
    ['name' => 'Usuario #2', 'email' => 'usuario2@example.com'],
])->multiply(2)

Agregar Rutas de Descubrimiento de Eventos al Proveedor de Servicios de Eventos

@Jascha contribuyó con un método addEventDiscoveryPaths() al proveedor de servicios de eventos si necesitas agregar rutas de descubrimiento de eventos adicionales dinámicamente. Esta característica no suele ser necesaria, pero puedes hacerlo con:

use Illuminate\Foundation\Support\Providers\EventServiceProvider;

EventServiceProvider::addEventDiscoveryPaths('/ruta/a/eventos');
EventServiceProvider::addEventDiscoveryPaths([
    '/alguna/ruta',
    '/otra/ruta'
]);

Notas de la Versión

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