Laravel World

  1. ⚡ Laravel Octane для тех, кто хочет быстро вкатиться, но не знает с чего начатьВозникла необходимость запустить вышеупомянутый сервис с RoadRunner на одном из проектов, и чтобы не ходить вокруг да около, прилагаю процесс в "сухом" виде:При разработке под Windows нужно обязательно войти в подсистему Linux (wsl или в контейнер виртуализации), так как под самим Windows запустить RoadRunner можно, но вот Laravel Octane - нет. Причина в использовании функций сигналов, отсутствующих в Windows. Дальше для всех одинаково.1. Устанавливаем зависимости:composer require laravel/octane spiral/roadrunner spiral/roadrunner-cli spiral/roadrunner-

    Forwarded from The Dragon Code News (Andrey Helldar)
    Laravel Octane для тех, кто хочет быстро вкатиться, но не знает с чего начать

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

    При разработке под Windows нужно обязательно войти в подсистему Linux (wsl или в контейнер виртуализации), так как под самим Windows запустить RoadRunner можно, но вот Laravel Octane - нет. Причина в использовании функций сигналов, отсутствующих в Windows. Дальше для всех одинаково.



    1. Устанавливаем зависимости:

    composer require laravel/octane spiral/roadrunner spiral/roadrunner-cli spiral/roadrunner-http


    2. Выполняем консольную команду php artisan octane:install выбирая следующие пункты:
    2.1. Which app? roadrunner
    2.2. Download binary? Yes

    Всё. Октан готов к работе. Можете запускать консольную команду php artisan octane:start --watch и наслаждаться им.

    Но есть один нюанс, во всяком случае под Windows. Запуская октан в wsl, он не будет сохранять состояние приложения и при каждом обновлении страницы будет его заново инициализировать. Решение очень простое - нужно указать количество воркеров для работы, например, один:

    php artisan octane:start --worker=1


    Всё. Теперь октан будет гарантированно запоминать состояние. Но есть, опять же, нюанс - если к этой команде добавить параметр --watch, то она упадёт.

    Для сравнения, загрузка страницы со списком товаров из базы при старте через artisan serve и с БД в докер-контейнере, занимает у меня около 150-300 мс. Сервис, запущенный из wsl отдаёт данные за 5-7 секунд. Laravel Octane справляется за 41 мс.

    Также можно дополнить блок scripts в файле composer.json:

    {
        "scripts": {
            // ...
            "post-install-cmd": [
                "@roadrunner"
            ],
            "post-update-cmd": [
                "@php artisan vendor:publish --tag=laravel-assets --ansi --force",
                "@php artisan vendor:publish --tag=telescope-assets --ansi --force",
                "@roadrunner"
            ],
            "octane": [
                "Composer\\Config::disableProcessTimeout",
                "@php artisan octane:start --watch --workers=1"
            ],
            "roadrunner": [
                "rm -f rr",
                "@php vendor/bin/rr get-binary -o linux"
            ]
        }
    }


    После этого, при вызовах команд composer install и composer update октан будет автоматически обновляться.

    Учтите, что обновление происходит путём скачивания zip архива при помощи curl без пробрасывания авторизационного токена, установленного в Composer, поэтому чревато схватить ошибку 403 API rate limit exceeded.


    И вторая команда - composer octane вместо запуска самого октана.

    Всё 🙂

    • ❤️64
  2. PHP и Laravel дайджест новостей за август 2024 года

    PHP и Laravel дайджест новостей за август 2024 года
    https://habr.com/ru/articles/847202/ PHP и Laravel дайджест новостей за август 2024 года

    • ❤️11
  3. 🚀 Прокачайте свои навыки по API на Laravel с новым курсом от CutCode!Привет, разработчики!Завтра на CutCode станет доступен новый курс "Изучение продвинутых методик Laravel. Часть 2. API".🔥 Что будет на курсе:1. Глубокое погружение в мир RESTful API: Подробный разбор теории понятным языком и практика на реальных проектах.2. Современные подходы: Разберем Specification First, API First и Code First. Их особенности и отличия.3. Автоматизация и кодогенерация: Научимся генерировать документацию и структуру API.4. Безопасность прежде всего: Разберем JWT, Sanctum и другие методы аутентификации.5. Тестирование API: Взглянем на подход TDD - как грамотно создавать API через тесты.6. Профессиональная отладка: Изучим современные инструменты для эффективного дебагинга.👨‍🏫 Кому подойдет курс:- Разработчикам, стремящимся создавать масштабируемые и гибкие решения- Тем, кто хочет повысить свою ценность на рынке труда📅 Не пропустите прямой эфир!Хотите узнать больше? Присоединяйтесь к прямому эфиру 1 октября в 20:00 (мск) на YouTube-канале CutCode. Там расскажут подробности о курсе и ответы на все ваши вопросы!🔗 Ссылка на трансляцию:

    🚀 Прокачайте свои навыки по API на Laravel с новым курсом от CutCode!

    Привет, разработчики!

    Завтра на CutCode станет доступен новый курс "Изучение продвинутых методик Laravel. Часть 2. API".

    🔥 Что будет на курсе:
    1. Глубокое погружение в мир RESTful API: Подробный разбор теории понятным языком и практика на реальных проектах.
    2. Современные подходы: Разберем Specification First, API First и Code First. Их особенности и отличия.
    3. Автоматизация и кодогенерация: Научимся генерировать документацию и структуру API.
    4. Безопасность прежде всего: Разберем JWT, Sanctum и другие методы аутентификации.
    5. Тестирование API: Взглянем на подход TDD - как грамотно создавать API через тесты.
    6. Профессиональная отладка: Изучим современные инструменты для эффективного дебагинга.

    👨‍🏫 Кому подойдет курс:
    - Разработчикам, стремящимся создавать масштабируемые и гибкие решения
    - Тем, кто хочет повысить свою ценность на рынке труда

    📅 Не пропустите прямой эфир!
    Хотите узнать больше? Присоединяйтесь к прямому эфиру 1 октября в 20:00 (мск) на YouTube-канале CutCode. Там расскажут подробности о курсе и ответы на все ваши вопросы!

    🔗 Ссылка на трансляцию: https://www.youtube.com/live/05JpWyW4b7s

    💡 Специальное предложение: После эфира стартуют продажи курса со скидкой в течение 2 дней.

    Поднимите ваши навыки разработки API на новый уровень!

    #Laravel #API #CutCode

    • ❤️22
  4. Как работает магия нового хелпера defer()Который выполняет код уже после отправки ответа в браузер. И делает это не с помощью очередей. А как? Узнаем вместе — полезли под капот!

    Как работает магия нового хелпера defer()
    Который выполняет код уже после отправки ответа в браузер. И делает это не с помощью очередей. А как? Узнаем вместе — полезли под капот!
    https://www.amitmerchant.com/the-magic-behind-laravels-new-defer-helper/ The magic behind Laravel's new defer() helper

    • ❤️45
  5. Простейший способ сказать "спасибо" разработчикам - использовать пакет symfony thanks.Он автоматически проставит "звёзды" от Вашего имени в GitHub на тех проектах, которые используются в Вашем приложении.Для того чтобы сделать это, установите пакет в глобальную область используя консольную команду:composer global require symfony/thanks

    Forwarded from Andrey Helldar
    Простейший способ сказать "спасибо" разработчикам - использовать пакет symfony thanks.

    Он автоматически проставит "звёзды" от Вашего имени в GitHub на тех проектах, которые используются в Вашем приложении.

    Для того чтобы сделать это, установите пакет в глобальную область используя консольную команду:

    composer global require symfony/thanks
    

    После этого Вам достаточно будет в консоли перейти в папку с любым проектом и выполнить команду composer thanks.

    • 15
    • ❤️115
  6. PHP Дайджест — Сентябрь 2024

    PHP Дайджест — Сентябрь 2024
    https://blog.jetbrains.com/phpstorm/2024/09/php-annotated-september-2024/ PHP Annotated – September 2024 - The JetBrains Blog

    • ❤️13
  7. Laravel's higher order collection proxiesВысокоуровневые прокси для коллекций — это функция Laravel, которая позволяет проксировать методы к объектам, находящимся в коллекции.

    Laravel's higher order collection proxies

    Высокоуровневые прокси для коллекций — это функция Laravel, которая позволяет проксировать методы к объектам, находящимся в коллекции.

    https://aaronfrancis.com/2024/laravels-higher-order-collection-proxies-451f4176

    • 1
    • ❤️18
  8. 🎉 Розыгрыш обучающих курсов от CutCode! 📚 1 сентября - День знаний! Хватит откладывать свое обучение на потом, пришло время действовать! Самые жирные вакансии получают более квалифицированные разработчики. Сколько раз вы говорили себе "начну с понедельника" или "вот закончу этот проект и тогда..."? Пора превратить планы в реальность!CutCode проводит большой розыгрыш, который может стать вашим билетом в мир профессионального Laravel:🏆 Призы:-Билеты на курсы: "Продвинутые методики Laravel", "Laravel Start" и "Laravel API"-Скидка 30% на ВСЕ курсы CutCode-6 месяцев бесплатного использования сервиса onFriday🤔 Как участвовать?1. Переходите к посту с розыгрышем

    🎉 Розыгрыш обучающих курсов от CutCode!

    📚 1 сентября - День знаний! Хватит откладывать свое обучение на потом, пришло время действовать! Самые жирные вакансии получают более квалифицированные разработчики. Сколько раз вы говорили себе "начну с понедельника" или "вот закончу этот проект и тогда..."? Пора превратить планы в реальность!

    CutCode проводит большой розыгрыш, который может стать вашим билетом в мир профессионального Laravel:
    🏆 Призы:
    -Билеты на курсы: "Продвинутые методики Laravel", "Laravel Start" и "Laravel API"
    -Скидка 30% на ВСЕ курсы CutCode
    -6 месяцев бесплатного использования сервиса onFriday

    🤔 Как участвовать?
    1. Переходите к посту с розыгрышем https://t.me/laravel_cutcode/566
    2. В комментариях к посту укажите желаемые призы, используя ключевые слова.

    Спешите! Заявки принимаются только до 3 сентября включительно.
    Розыгрыш состоится 4 сентября в 20:00 (мск) в прямом эфире на YouTube-канале CutCode.
    Помните, День знаний - это не только про школьников и студентов. Это про каждого, кто готов развиваться, инвестировать в себя и свое будущее.
    Действуйте сейчас, пока другие сомневаются! 🌟
    #Laravel #CutCode Laravel новости от CutCode

    • 1
    • ❤️16
  9. 🛠 API-документация без головной боли: ТОП-11 инструментовРучное создание документации отнимает много времени и чревато ошибками. Представляем подборку инструментов, которые автоматизируют процесс и помогут вам сосредоточиться на разработке, а не на написании документации.

    🛠 API-документация без головной боли: ТОП-11 инструментов

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

    https://proglib.io/p/api-dokumentaciya-bez-golovnoy-boli-top-11-instrumentov-2024-08-21

    • 2
    • ❤️28
  10. Laracon глазами Андрея Helldara'а (у него более позитивное видение):- Авто-биндинг при использовании DI при помощи атрибутов;- Улучшенная умная жадная загрузка — метод chaperone() при объявлении релейшена позволяет прокидывать в дочерние релейшены значение родителя для вызовов типа user->posts->each->user;- Метод defer(), реализующий асинхронный вызов без блокировки основного;- Новый метод Cache::flexible() добавляет автоматический прогрев кэша при частых запросах;- Concurrency реализует параллельную обработку N+1 действий;- Laravel Cloud. Цены:- - Песочница: 1 цент в час- - Postgres - 4 цента в час и 75 центов за гигабайтПо-нашему выходит около 40 тысяч рублей в год за сервер.

    Laracon глазами Андрея Helldara'а (у него более позитивное видение):

    - Авто-биндинг при использовании DI при помощи атрибутов;

    - Улучшенная умная жадная загрузка — метод chaperone() при объявлении релейшена позволяет прокидывать в дочерние релейшены значение родителя для вызовов типа user->posts->each->user;

    - Метод defer(), реализующий асинхронный вызов без блокировки основного;

    - Новый метод Cache::flexible() добавляет автоматический прогрев кэша при частых запросах;

    - Concurrency реализует параллельную обработку N+1 действий;

    - Laravel Cloud. Цены:
    - - Песочница: 1 цент в час
    - - Postgres - 4 цента в час и 75 центов за гигабайт
    По-нашему выходит около 40 тысяч рублей в год за сервер.

    • 2
    • ❤️43