Laravel World

  1. JetBrains основывают фонд PHP. Тейлор уже стал топ-спонсором - перечислил 10 тысяч долларов.

    JetBrains основывают фонд PHP. Тейлор уже стал топ-спонсором - перечислил 10 тысяч долларов.
    https://blog.jetbrains.com/phpstorm/2021/11/the-php-foundation/ The New Life of PHP – The PHP Foundation - The JetBrains Blog

  2. Что нового в Eloquent ORMРассмотрим новый функционал, появившийся в Laravel с момента первоначального релиза версии 8. Сегодня поговорим о новых методах в Database и Eloquent. Пройдемся прямо по каждой версии, в которых появлялось что-то новое.

    Что нового в Eloquent ORM

    Рассмотрим новый функционал, появившийся в Laravel с момента первоначального релиза версии 8. Сегодня поговорим о новых методах в Database и Eloquent. Пройдемся прямо по каждой версии, в которых появлялось что-то новое.

    https://laravel.demiart.ru/eloquent-new-features/

  3. Релиз Laravel 8.73• Implement lazyById in descending order• Fix assertSoftDeleted & assertNotSoftDeleted• Added Prohibits validation rule to dependentRules property• Allow a Closure to be passed as a ttl in Cache remember() methodРелиз Laravel 8.72• Allow users to specify options for migrate:fresh for DatabaseMigration trait• Add support for countables to the pluralizer• Use parents to resolve middleware priority• Add extra method in PasswortReset for reset URL to match the structure of VerifyEmail

    Релиз Laravel 8.73

    • Implement lazyById in descending order
    • Fix assertSoftDeleted & assertNotSoftDeleted
    • Added Prohibits validation rule to dependentRules property
    • Allow a Closure to be passed as a ttl in Cache remember() method

    Релиз Laravel 8.72
    • Allow users to specify options for migrate:fresh for DatabaseMigration trait
    • Add support for countables to the pluralizer
    • Use parents to resolve middleware priority
    • Add extra method in PasswortReset for reset URL to match the structure of VerifyEmail

    https://github.com/laravel/framework GitHub - laravel/framework: Laravel is a web application framework with expressive, elegant syntax.

  4. Сравнение php-fpm, nginx-unit и laravel-octaneСтатья посвящена сравнению производительности различных веб-серверов для приложения, построенного на базе Laravel. Ниже будет много графиков и параметров конфигурации и мои личные выводы.Сам я давно работаю с nginx-unit (+lumen), однако при получении новых проектов очень часто вижу использование php-fpm. На предложения перейти на nginx-unit, возникает вполне логичный вопрос — «а чем он лучше?».

    Сравнение php-fpm, nginx-unit и laravel-octane

    Статья посвящена сравнению производительности различных веб-серверов для приложения, построенного на базе Laravel. Ниже будет много графиков и параметров конфигурации и мои личные выводы.

    Сам я давно работаю с nginx-unit (+lumen), однако при получении новых проектов очень часто вижу использование php-fpm. На предложения перейти на nginx-unit, возникает вполне логичный вопрос — «а чем он лучше?».

    https://habr.com/ru/post/588785/ Сравнение php-fpm, nginx-unit и laravel-octane

  5. Релиз Laravel 8.70Метод can() мидлваров в маршрутах:Route::put('/post/{post}', function (Post $post) {

    Релиз Laravel 8.70

    Метод can() мидлваров в маршрутах:
    Route::put('/post/{post}', function (Post $post) {
        // The current user may update the post...
    })->can('update', 'post');
    
    https://laravel.com/docs/8.x/authorization#via-middleware

    Правило валидации Enum (PHP 8.1+)
    $request->validate([
        'status' => [new Enum(ServerStatus::class)],
    ]);
    
    https://laravel.com/docs/8.x/validation#rule-enum

    Метод Js::from() для вывода json
    <script>
        var app = {{ Js::from($array) }};
    </script>
    
    https://laravel.com/docs/8.x/blade#rendering-json

    Метод withoutMiddleware для группы маршрутов
    Route::withoutMiddleware([EnsureTokenIsValid::class])->group(function () {
        Route::get('/profile', function () {
            //
        });
    });
    
    https://laravel.com/docs/8.x/middleware#excluding-middleware

    Флаг --requests при создании моделей через artisan-команду. Позволяет создать форм-реквесты Store{Model}Request и Update{Model}Request и обновляет контроллер для их использования в соответствующих методах.

  6. Тейлор работает над возможностью устанавливать Laravel чисто как API-бэкенд (Lumen, досвидос), с удалением всего, что связано с работой в браузере. Вот план его работ. Если вам есть, что добавить — пишите ему в твит:

    Тейлор работает над возможностью устанавливать Laravel чисто как API-бэкенд (Lumen, досвидос), с удалением всего, что связано с работой в браузере. Вот план его работ. Если вам есть, что добавить — пишите ему в твит:
    https://twitter.com/taylorotwell/status/1457829364163387392

  7. Паттерн Action-Domain-ResponderЯвляется усовершенствованием паттерна Model-View-Controller и более удобен для создания веб-приложений.Большинство фреймворков на данный момент использует MVC. Впервые он был представлен в 70-х годах и предназначался для разработки десктопных приложений. Несмотря на это, в течении долгого времени, паттерн используется и для веб-приложений.В этой статье мы познакомимся с паттерном Action-Domain-Responder (ADR — Действие-Домен-Ответчик) и научимся его применять в Laravel.

    Паттерн Action-Domain-Responder

    Является усовершенствованием паттерна Model-View-Controller и более удобен для создания веб-приложений.

    Большинство фреймворков на данный момент использует MVC. Впервые он был представлен в 70-х годах и предназначался для разработки десктопных приложений. Несмотря на это, в течении долгого времени, паттерн используется и для веб-приложений.

    В этой статье мы познакомимся с паттерном Action-Domain-Responder (ADR — Действие-Домен-Ответчик) и научимся его применять в Laravel.

    https://laravel.demiart.ru/pattern-action-domain-responder/

  8. Пример качественного Laravel приложения от Алексея Мезенина

    Пример качественного Laravel приложения
    от Алексея Мезенина
    https://github.com/alexeymezenin/laravel-realworld-example-app

    Автор известен по крайне полезному проекту Laravel Best Practices.

    «Высасывать идею для приложения из пальца не стал, решил присоединиться к довольно интересному проекту RealWorld. Проект состоит из сотни приложений, написанных на самых разных языках и фреймворках, причем вы можете менять фронтенд и бэкенд и получить точно такой же функционал. Мой пример следует лучшим практикам, но сделать все согласно Laravel Way не получилось из-за довольно специфичного ТЗ. Буду благодарен за звезды. Если у вас есть вопросы по поводу организации кода, практик, решений и пр., задавайте.» GitHub - alexeymezenin/laravel-realworld-example-app: Laravel implementation of the RealWorld app

  9. Релиз PHPStan 1.0Статический анализатор PHP, ориентированный на поиск ошибок в вашем коде, без его запуска. Спустя 5 лет разработки и множество 0.xx версий, автор наконец-то решился выпустить Первую версию.Основная фишка релиза — добавлен максимальный девятый уровень строгости проверки.

    Релиз PHPStan 1.0
    Статический анализатор PHP, ориентированный на поиск ошибок в вашем коде, без его запуска. Спустя 5 лет разработки и множество 0.xx версий, автор наконец-то решился выпустить Первую версию.
    Основная фишка релиза — добавлен максимальный девятый уровень строгости проверки.
    https://phpstan.org/blog/phpstan-1-0-released

    Заодно с ним зарелизился Larastan 1.0.0 — обёртка над PHPStan для Laravel. PHPStan 1.0 Released!

  10. На следующей неделе в Laravel 8 появится приведение атрибутов к enum. Но будет работать, разумеется, только начиная с PHP 8.1, в котором и появилась их реализация.Кстати, начиная с версии 8.67, вышедшей на днях, фреймворк полностью работоспособен на PHP 8.1

    На следующей неделе в Laravel 8 появится приведение атрибутов к enum. Но будет работать, разумеется, только начиная с PHP 8.1, в котором и появилась их реализация.

    Кстати, начиная с версии 8.67, вышедшей на днях, фреймворк полностью работоспособен на PHP 8.1

  11. Как обновить большие массивы данных в LaravelО всех хитрости и тонкостях (чанки, прогрессбар, транзакции) рассказывает Макс Хутшенрайтер.

    Как обновить большие массивы данных в Laravel
    О всех хитрости и тонкостях (чанки, прогрессбар, транзакции) рассказывает Макс Хутшенрайтер.
    https://42coders.com/how-to-update-large-data-in-laravel

    • 👍2
  12. Релиз Laravel 8.68Из интересного: методы dump, dumpHeaders, dumpSession и dd, ddHeaders, ddSession оптимизированы для отладки тестовых ответов.Также теперь не обязательно указывать модель в Фабрике . В большинстве случаев Laravel понимает, что нужно использовать.

    Релиз Laravel 8.68
    Из интересного: методы dump, dumpHeaders, dumpSession и dd, ddHeaders, ddSession оптимизированы для отладки тестовых ответов.
    Также теперь не обязательно указывать модель в Фабрике . В большинстве случаев Laravel понимает, что нужно использовать.
    https://laravel.com/docs/8.x/http-tests#debugging-responses

  13. Новый пакет от Spatie: Laravel Site SearchИндексация контента сайта и поиск по нему.

    Новый пакет от Spatie: Laravel Site Search
    Индексация контента сайта и поиск по нему.
    https://freek.dev/2106-a-laravel-package-to-crawl-and-index-content-of-your-sites A Laravel package to crawl and index content of your sites | freek.dev

  14. Релиз Laravel 8.65Из интересного: новый метод Str::headline() для вывода красивых заголовков из слагов, названий классов и тому подобного. Примеры на картинке.также зарелизены:Laravel 6.20.36Cashier Stripe 13.5.5Dusk 6.19.1Lumen 8.3.1Passport 10.1.4Sanctum 2.12

    Релиз Laravel 8.65

    Из интересного: новый метод Str::headline() для вывода красивых заголовков из слагов, названий классов и тому подобного. Примеры на картинке.

    также зарелизены:
    Laravel 6.20.36
    Cashier Stripe 13.5.5
    Dusk 6.19.1
    Lumen 8.3.1
    Passport 10.1.4
    Sanctum 2.12

  15. На следующей неделе выйдет версия Laravel, в которой будет возможность, в команде artisan make использовать опции --test или --pest для генерации, соответственно, phpunit и pestphp тестов.

    На следующей неделе выйдет версия Laravel, в которой будет возможность, в команде artisan make использовать опции --test или --pest для генерации, соответственно, phpunit и pestphp тестов.
    https://github.com/laravel/framework/pull/38997