Paquetes Laravel: Top 5 de esenciales en el 2021

paquetes laravel

Paquetes Laravel: Top 5 de esenciales en el 2021

En esta publicación, hablaré sobre el paquete TOP 5 del marco de Laravel. Estos paquetes Laravel facilitan el desarrollo y la depuración de sus proyectos.


1. El primer paquete es el respondedor API de Laravel. Puede hacer la estructura para su respuesta de servicio con este paquete.

Conversión de datos sobre la marcha

ResponseBuilder puede ahorrarle algo de trabajo al convertir automáticamente los objetos en una representación de matriz. Por ejemplo, tener ResponseBuilder configurado para autoconvertir objetos de la clase Model de Eloquent y pasar el objeto de esa clase ya sea directamente usando withData() o como parte de una estructura más grande) lo convertirá a formato JSON automáticamente.

Las siguientes clases son compatibles desde el primer momento:

  • \Illuminate\Database\Eloquent\Model
  • \Illuminate\Support\Collection
  • \Illuminate\Database\Eloquent\Collection
  • \Illuminate\Http\Resources\Json\JsonResource
  • \Illuminate\Pagination\LengthAwarePaginator
  • \Illuminate\Pagination\Paginator

Ejemplos

Pasando un solo modelo, así:

$flight = App\Flight::where(...)->first();
return RB::success($flight);

Volverá:

{
"item": {
"airline": "lot",
"flight_number": "lo123",
...
}
}

Si tiene más datos, pase la Collection:

$flights = App\Flight::where(...)->get();
return RB::success($flights);

Que devolvería una matriz de sus objetos:

{
"items": [
{
"airline": "lot",
"flight_number": "lo123",
...
},{
"airline": "american",
"flight_number": "am456",
...
}
]
}

[ Paquetes de documentación original ]


2. el segundo paquete es traducible a Laravel.

Este paquete contiene un rasgo para hacer que los modelos de Eloquent sean traducibles. Las traducciones se almacenan como JSON. No se necesita una mesa adicional para sostenerlos.

Una vez que el rasgo está instalado en el modelo, puede hacer estas cosas:

$newsItem = new NewsItem; // This is an Eloquent model
$newsItem
->setTranslation('name', 'en', 'Name in English')
->setTranslation('name', 'nl', 'Naam in het Nederlands')
->save();

$newsItem->name; // Returns 'Name in English' given that the current app locale is 'en'
$newsItem->getTranslation('name', 'nl'); // returns 'Naam in het Nederlands'

app()->setLocale('nl');

$newsItem->name; // Returns 'Naam in het Nederlands'

[Documentación original para obtener más información]

 


3. El tercer paquete es Laravel Short Schaduler.

El programador nativo de Laravel le permite programar comandos Artisan para que se ejecuten cada minuto.

Si necesita ejecutar algo con una frecuencia más alta, por ejemplo, cada segundo, entonces ha llegado al paquete correcto. Con laravel-short-schedule instalado, puede hacer esto:

// in app\Console\Kernel.php

protected function shortSchedule(\Spatie\ShortSchedule\ShortSchedule $shortSchedule)
{
// this command will run every second
$shortSchedule->command('artisan-command')->everySecond();

// this command will run every 30 seconds
$shortSchedule->command('another-artisan-command')->everySeconds(30);

// this command will run every half a second
$shortSchedule->command('another-artisan-command')->everySeconds(0.5);
}

[La documentación original está aquí]


4. El cuarto paquete es la instantánea de la base de datos de Laravel.

Este paquete proporciona comandos Artisan para descargar y cargar rápidamente bases de datos en una aplicación Laravel.

# Create a dump
php artisan snapshot:create my-first-dump

# Make some changes to your db
# ...

# Create another dump
php artisan snapshot:create my-second-dump

# Load up the first dump
php artisan snapshot:load my-first-dump

# Load up the latest dump
php artisan snapshot:load --latest

# List all snapshots
php artisan snapshot:list

# Remove old snapshots. Keeping only the most recent
php artisan snapshot:cleanup --keep=2

Este paquete es compatible con MySQL, PostgreSQL y SQLite.

[Puede leer la documentación original desde aquí]


5. El quinto paquete es la conversión de unidades Laravel.

Este paquete puede realizar varias conversiones de unidades. En este momento, solo se admite kg a lbs.
Puede instalar el paquete a través del compositor:

composer require spatie/unit-conversions

A continuación, le indicamos cómo utilizarlo:

use Spatie\UnitConversions\Weight;

Weight::fromKilograms(100)->toLbs(); // returns 220.4623;

[Documentación original del paquete]


Si le gusta este artículo, sígame para obtener nueva información útil. 🙂

Recent Post