Вышла новая версия Laravel 10.0

Дата публикации: 2023-02-14
Просмотры: 478

Вышла очередная версия Laravel 10.0.
Теперь минимальная необходимая версия PHP 8.1.
Данная версия содержат критические изменения. Несмотря на это всегда есть возможность обновиться с предыдущей версии на новую.

Вышла новая версия Laravel 10.0

Laravel Pennant

Выпущен новый собственный пакет Laravel Pennant. Laravel Pennant предлагает легкий и оптимизированный подход к управлению флагами функций вашего приложения. По умолчанию Pennant включает в себя array драйвер в памяти и database драйвер для постоянного хранения функций.

Характеристики можно легко определить с помощью Feature::define метода:

use Laravel\Pennant\Feature;
use Illuminate\Support\Lottery;

Feature::define('new-onboarding-flow', function () {
    return Lottery::odds(1, 10);
});

Как только функция определена, вы можете легко определить, имеет ли текущий пользователь доступ к данной функции:

if (Feature::active('new-onboarding-flow')) {
    // ...
}

Разумеется, для удобства также доступны директивы Blade:

@feature('new-onboarding-flow')
    <div>
        <!-- ... -->
    </div>
@endfeature

Process

Laravel 10 представляет красивый уровень абстракции для запуска и взаимодействия с внешними процессами через новый Process фасад:

use Illuminate\Support\Facades\Process;

$result = Process::run('ls -la');

return $result->output();

Процессы можно даже запускать в пулах, что обеспечивает удобное выполнение и управление параллельными процессами:

use Illuminate\Process\Pool;
use Illuminate\Support\Facades\Pool;

[$first, $second, $third] = Process::concurrently(function (Pool $pool) {
    $pool->command('cat first.txt');
    $pool->command('cat second.txt');
    $pool->command('cat third.txt');
});

return $first->output();

Кроме того, процессы могут быть подделаны для удобного тестирования:

Process::fake();

// ...

Process::assertRan('ls -la');

Это всего несколько изменений в новой версии Laraval 10. Более полное описание изменений можно прочитать по ссылке ниже.


Ссылка на источник: https://laravel.com/docs/10.x/releases

Предыдущая статья:

Zenject ломает сборку под WebGL

Следующая статья:

Вышла новая версия Symfony 6.3
Поделиться статьей:

Комментарии:

Авторизуйтесь, для того, чтобы оставить комментарий. Войти на сайт
Подписка на новости
Узнавайте о новых статьях первыми.
Профиль