Laravel World

  1. Релиз Pest 2.0

    Релиз Pest 2.0

    Спустя полтора года разработки вышла вторая версия фреймворка для написания тестов. На 60% увеличена скорость при параллельном тестировании. Добавлены мощные плагины. Определение и оптимизация медленных тестов. Опция для запуска только проваленных тестов. Плюс еще множество новшеств.

    Подробнее на https://pestphp.com/docs/announcing-pest2 Announcing Pest 2.0 | Pest - The elegant PHP Testing Framework

    • ❤️33
  2. Релиз Bref 2.0

    Релиз Bref 2.0
    Cреда выполнения PHP в AWS Lambda.

    Также зарелизен Bref Laravel Bridge 2.0, который позволяет запускать Laravel на AWS Lambda. Пакет полностью обновлён и теперь основан на репозитории CacheWerk Bridge. Заявлены поддержка Laravel Octane и полная поддержка всех фич Laravel Queues.

    https://bref.sh/docs/news/02-bref-2.0.html Bref 2.0 is released 🎉 – Bref

    • ❤️17
  3. Опенсорсный сайт с EOL (End-of-life, Конец жизненного цикла) различных программных продуктов. Проще говоря, информация о том, какие версии продукта ещё поддерживаются, а какие уже окончательно устарели. Есть API.

    Опенсорсный сайт с EOL (End-of-life, Конец жизненного цикла) различных программных продуктов. Проще говоря, информация о том, какие версии продукта ещё поддерживаются, а какие уже окончательно устарели. Есть API.

    Информация оперативно обновляется. Laravel 10.3.2 вышла 18 часов назад, но уже указана на сайте.

    https://endoflife.date/

    • ❤️37
  4. Проектируем реактивное — Message-Driven системы на PHP

    Проектируем реактивное — Message-Driven системы на PHP

    Цель этой статьи — показать не только зачем, но и как мы можем создавать приложения на PHP, которые будут устойчивыми, масштабируемыми и податливыми для изменений. Статья концентрируется на разработке бизнес-ориентированных приложений, в которых можно четко выделить бизнес-логику, процессы и потоки работ (workflows). Это квинтэссенция моего опыта, накопленного за годы работы над бизнес-ориентированным программным обеспечением в целом и в процессе создания фреймворка для обмена сообщениями Ecotone в частности.

    https://habr.com/ru/company/otus/blog/720758/

    • ❤️22
  5. Стратегии создания кастомизируемых Laravel-пакетов

    Стратегии создания кастомизируемых Laravel-пакетов

    Во время Laracon India многие спрашивали, как мы справляемся с обслуживанием всех наших пакетов в Spatie.

    Один из способов снизить нагрузку на техническое обслуживание — сделать пакеты кастомизируемыми. В этой статье я расскажу подробнее как это сделать. Причем часть из этих советов применимы и к обычным проектам.

    https://freek.dev/2442-strategies-for-making-laravel-packages-customizable Strategies for making Laravel packages customizable | freek.dev

    • ❤️16
  6. Когда нужно использовать глобальные скоупы в Laravel

    Когда нужно использовать глобальные скоупы в Laravel

    В основном разработчики используют локальные скоупы, но при правильной реализации глобальных скоупов, ваш код и его безопасность будет значительно лучше.

    https://stefrouschop.nl/when-to-use-laravel-global-scopes When to use Laravel global scopes

    • ❤️24
  7. Бета-релиз Laravel Flaky 0.1

    Бета-релиз Laravel Flaky 0.1

    Интересный пакет, который позаботится о сбоях при работе со сторонними API.

    Допустим, у нас есть нестабильный фрагмент кода, который падает в 20% случаев:

    if (Lottery::odds(1 / 5)->choose()) {
        throw new Exception("Oops");
    }
    
    
    Но нам на это чхать, главное, чтобы он сработал в течении часа. И мы оборачиваем этот код во Flaky-защиту:

    Flaky::make('my-flaky-code')
        ->allowFailuresForAnHour()
        ->run(function() {
            if (Lottery::odds(1 / 5)->choose()) {
                throw new Exception("Oops");
            }
        })
    

    Теперь исключения не будут выброшены, если операция завершилась успешно в течение часа.

    https://github.com/hammerstonedev/flaky

    • ❤️72