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