Laravel zip content validator

Laravel Zip Content Validator by Orkhan Ahmadov is a custom validation rule for checking the contents of an uploaded ZIP file:

use Orkhanahmadov\ZipValidator\Rules\ZipContent;

public function rules()
{
    return [
        'file' => [
            'required',
            'file',
            'mimes:zip',
            new ZipContent('thumb.jpg', 'assets/logo.png')
        ],
    ];
}

In addition to checking the existence of file paths, you can also validate the maximum size of a file. The unit of the value is bytes: 100000 equals 100KB:

new ZipContent(['thumb.jpg' => 100000, 'logo.png']);

You can also use an “or” style of validation. Here’s an example of “or” validation in tandem with maximum size:

new ZipContent(['thumb.jpg|thumb.png' => 100000]);

Finally, you can reject empty files with false as a second argument:

new ZipContent(['thumb.jpg', 'style.css'], false);

https://github.com/orkhanahmadov/laravel-zip-validator

Laravel Response Builder

Данная библиотека позволяет абстрагировать ответы и кастомизировать их. Можно не создавать свою архитектуру и классы для Response, а достаточно подключить библиотеку и юзать.

Внимание! Проверьте требования перед выбором версии:

https://github.com/MarcinOrlowski/laravel-api-response-builder/blob/master/docs/docs.md

Laravel Multilang

Добавили автоматические роуты для интернационализации.

Было:

Route::get('/', 'ShowHomeController')->name('en.home');
Route::get('/fr', 'ShowHomeController')->name('fr.home');

Стало:

Route::multilingual('/', 'ShowHomeController')->name('home');

Так же можно добавить мидлвейр чтобы автоматом проверять изменился ли язык в урле.

protected $middlewareGroups = [
    'web' => [
        \ChinLeung\LaravelMultilingualRoutes\DetectRequestLocale::class,
        // ...
    ]
];

Пример конфигурации:

// config/locales.php
'supported' => [
    'en',
    'es',
    'fr',
],

Пакет GitHub