Forwarded from PHP Digest
Дайджест PHP – Февраль-Март 2024
Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!
⚡️ НОВОСТИ
🔹 Вышли PHP 8.2.16 и PHP 8.3.3
❗️ Вышел Composer 2.7 с исправлением CVE-2024-24821
🔹 Итоги ежегодного опроса PHP-сообщества: результаты за 2023
🔹 Вышел Rector 1.0
🔹 Вышел PHPUnit 11
🐘 ЯДРО PHP
💬 Добро пожаловать в обсуждения PHP Foundation!
📊 RFC: Deprecate implicitly nullable parameter types
📣 RFC: Add OOP methods to Curl objects
📣 RFC: Property hooks
❌ RFC: Final by default anonymous classes
✅ RFC: Multibyte for ucfirst, lcfirst functions, mb_ucfirst mb_lcfirst
✅ RFC: RFC1867 for non-POST HTTP verbs
✅ RFC: Add http_(get|clear)_last_response_headers() function
🔴 LARAVEL
📄 Laravel трюки: автоматическое подключение каналов логирования
📄 Механизмы безопасности в Laravel
📄 Гудбай Pusher, привет Laravel Websockets
📄 Laravel 11. Что нового?
📄 Модификация JSON респонсов в Laravel
📄 Превращение событий PostgreSQL в события Laravel
⚫️ SYMFONY
📄 Logstash, Manticore, Nginx и Symfony: сбор, агрегация и быстрый поиск логов
📄 Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы
📄 СТАТЬИ
📄 Управление устройствами умного дома Яндекс своими скриптами
📄 Меняем моки репозиториев на in-memory реализации
📄 Как я писал свою библиотеку для работы с Telegram
📄 Улучшение кода без споров и цитирования известных практик
📄 Практический пример декомпозиции монолитного PHP приложения
📄 Как я обработал один миллиард строк в PHP
📄 Паттерн Aggregate Outside
🎬 ВИДЕО
🔹 PDO. Реализация Active Record
🔹 Всё о PSR. Обзор стандартов PSR
🔹 Публичное собеседование по алгоритмам Часть 1, Часть 2
🔹 LivePHP Meetup
🔹 Typhoon 0.3.0
🔹 Разбираем срез знаний для 3-его потока Хардкорного курса PHP
🔹 Конфигурируем Doctrine Schema без ORM
—
Ещё больше новостей и ссылок в новом выпуске PHP Annotated от JetBrains 💜
PHP-дайджест в видео формате на канале CutCode 🎬
Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!
⚡️ НОВОСТИ
🔹 Вышли PHP 8.2.16 и PHP 8.3.3
❗️ Вышел Composer 2.7 с исправлением CVE-2024-24821
🔹 Итоги ежегодного опроса PHP-сообщества: результаты за 2023
🔹 Вышел Rector 1.0
🔹 Вышел PHPUnit 11
💬 Добро пожаловать в обсуждения PHP Foundation!
📊 RFC: Deprecate implicitly nullable parameter types
📣 RFC: Add OOP methods to Curl objects
📣 RFC: Property hooks
❌ RFC: Final by default anonymous classes
✅ RFC: Multibyte for ucfirst, lcfirst functions, mb_ucfirst mb_lcfirst
✅ RFC: RFC1867 for non-POST HTTP verbs
✅ RFC: Add http_(get|clear)_last_response_headers() function
📄 СТАТЬИ
🎬 ВИДЕО
🔹 PDO. Реализация Active Record
🔹 Всё о PSR. Обзор стандартов PSR
🔹 Публичное собеседование по алгоритмам Часть 1, Часть 2
🔹 LivePHP Meetup
🔹 Typhoon 0.3.0
🔹 Разбираем срез знаний для 3-его потока Хардкорного курса PHP
🔹 Конфигурируем Doctrine Schema без ORM
—
Ещё больше новостей и ссылок в новом выпуске PHP Annotated от JetBrains 💜
PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, коллеги!
Напоминаем о завтрашней викторине! В 19:00 (мск) 13 марта на нашем YouTube-канале CutCode.🧐 Включите напоминание, чтобы не забыть:
https://youtube.com/live/WNIAO0kEk7U
Напоминаем о завтрашней викторине! В 19:00 (мск) 13 марта на нашем YouTube-канале CutCode.
https://youtube.com/live/WNIAO0kEk7U
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Своя игра от CutCode. Викторина по PHP
Готовьтесь к необычному испытанию знаний и заряду хорошим настроением! В 19:00 (мск) 13 марта на YouTube-канале CutCode стартует игра-викторина в стиле “Своей игры”
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Привет коллеги!
Наши PHP викторина в стиле "Своей игры" в эфире! Присоединяйтесь!
https://www.youtube.com/watch?v=WNIAO0kEk7U
Наши PHP викторина в стиле "Своей игры" в эфире! Присоединяйтесь!
https://www.youtube.com/watch?v=WNIAO0kEk7U
YouTube
Своя игра от CutCode. Викторина по PHP
Готовьтесь к необычному испытанию знаний и заряду хорошим настроением! В 19:00 (мск) 13 марта на YouTube-канале CutCode стартует игра-викторина в стиле “Своей игры”
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Приготовьтесь к захватывающим раундам, юмору и увлекательным заданиям, которые проверят ваши…
Викторина проведена! Спасибо за активность! Будем рады обратной связи. Сделали специальную форму:
https://forms.gle/D5yAB2nSszwWRw5EA
https://forms.gle/D5yAB2nSszwWRw5EA
Google Docs
Задайте свой вопрос!
Вы можете составить вопрос, который будет задан в следующей игре участникам в ходе викторины
Коллеги, доброго дня!
Несколько отзывов от участников курса OAuth 2.0+Laravel Passport! Думаю они помогут определиться с участием 😎 Записаться на поток можно до 18 марта:
https://learn.cutcode.dev/laravel-passport
Несколько отзывов от участников курса OAuth 2.0+Laravel Passport! Думаю они помогут определиться с участием 😎 Записаться на поток можно до 18 марта:
https://learn.cutcode.dev/laravel-passport
Всем привет!
По случаю релиза новой, 11 версии Laravel, сделал ролик с обзором изменений и нововведений, а также прошелся по апгрейд гайду. Будьте в курсе:
https://youtu.be/ucP7ibmkEzQ
По случаю релиза новой, 11 версии Laravel, сделал ролик с обзором изменений и нововведений, а также прошелся по апгрейд гайду. Будьте в курсе:
https://youtu.be/ucP7ibmkEzQ
Легкое создание сложных запросов к базе данных с помощью пакета Query Enrich.
В статье разобраны примеры использования пакета Laravel Query Enrich - как создавать запросы к БД без необходимости написания сложного кода SQL.
https://laravel-news.com/query-enrich
В статье разобраны примеры использования пакета Laravel Query Enrich - как создавать запросы к БД без необходимости написания сложного кода SQL.
https://laravel-news.com/query-enrich
🌟🚀📚 Внимание, друзья! Большие новости! 📚🚀🌟
🎓🔥 Анонсирую новый, четвертый поток курса по продвинутым методикам применения Laravel! 🔥🎓
💡 Этот курс самый востребованный и популярный в нашем комьюнити, и вместе с тем самый объёмный и интересный. Курс действительно отличный (слова выпускнико), не провожу его так часто как этого просят в комьюнити, потому что требует много времени для ответа на вопросы учеников - ведь основная польза курса это обсуждение уроков в чате.
Итак, это курс для тех кто уже знает основы Laravel и хочет прокачать свои навыки. Научится как реализовывать решения разными способами, прокачать мышление разработчика.
Записывайтесь в список ожидания. Доступ к курсу открою 26 марта. Участникам, которые будут в списке на момент открытия продаж, будет предоставлена скидка:
https://learn.cutcode.dev/store
Кто ждал - ставьте огоньки!
🎓🔥 Анонсирую новый, четвертый поток курса по продвинутым методикам применения Laravel! 🔥🎓
💡 Этот курс самый востребованный и популярный в нашем комьюнити, и вместе с тем самый объёмный и интересный. Курс действительно отличный (слова выпускнико), не провожу его так часто как этого просят в комьюнити, потому что требует много времени для ответа на вопросы учеников - ведь основная польза курса это обсуждение уроков в чате.
Итак, это курс для тех кто уже знает основы Laravel и хочет прокачать свои навыки. Научится как реализовывать решения разными способами, прокачать мышление разработчика.
Записывайтесь в список ожидания. Доступ к курсу открою 26 марта. Участникам, которые будут в списке на момент открытия продаж, будет предоставлена скидка:
https://learn.cutcode.dev/store
Кто ждал - ставьте огоньки!
На днях Тейлор представил новые возможности в Laravel, а именно Context фасад! Вчера случайно увидел новый раздел в документации и подумал что использоваться будет исключительно для контекста логов, но почитав и глянув код понял что это второе пришествие $GLOBALS
Я так понимаю новый инструмент чтобы “качественно писать код”, который никто не понимает, а ну и примеры гидрации, дегидрации просто убили 🥸
Может я чего-то не понял, что скажите об этом?
https://laravel.com/docs/11.x/context
Я так понимаю новый инструмент чтобы “качественно писать код”, который никто не понимает, а ну и примеры гидрации, дегидрации просто убили 🥸
Может я чего-то не понял, что скажите об этом?
https://laravel.com/docs/11.x/context
Laravel
Context - Laravel 12.x - The PHP Framework For Web Artisans
Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things.
Узнайте, как управлять часовыми поясами в приложениях Laravel
В видео из этой статьи Бен Холмен учит нас, как управлять часовыми поясами в приложениях Laravel.
https://laravel-news.com/laravel-timezones
В видео из этой статьи Бен Холмен учит нас, как управлять часовыми поясами в приложениях Laravel.
https://laravel-news.com/laravel-timezones
Привет, коллеги!
Выпустил ролик по новому фасаду Context. Очень спорное нововведение. Смотрите видео и давайте обсудим:
https://youtu.be/XEkJnPu-8OU
Выпустил ролик по новому фасаду Context. Очень спорное нововведение. Смотрите видео и давайте обсудим:
https://youtu.be/XEkJnPu-8OU
YouTube
Context - globals в овечьей шкуре
Новый раздел в документации с Context. Увидел анонс у Тэйлора в твиттере и решил изучить новый инструмент. Начал смотреть поначалу всё показал логично, но позже я сломался сломался настолько что решил включить микрофон и записать для вас этот ролик. Давайте…
Кэширование маршрутов с помощью Cloudflare в Laravel
Пакет Cloudflare Cache для Laravel предоставляет кэшируемые маршруты, позволяя эффективно обслуживать миллионы запросов к статическим страницам.
https://laravel-news.com/laravel-cloudflare-cache
Пакет Cloudflare Cache для Laravel предоставляет кэшируемые маршруты, позволяя эффективно обслуживать миллионы запросов к статическим страницам.
https://laravel-news.com/laravel-cloudflare-cache
Коллеги, привет!
Напоминаю, что завтра будет открыт набор на курс по изучению продвинутых методик использования Laravel! Полгода прошло после третьего потока и собралась большая компания желающих!
🔻Что будет на курсе:
Отладка (Sentry, Debugbar, Telescope, …)
Дизайн паттерны
DDD
TDD (небольшой пример)
Отправка писем
Тесты(Pest)
Работа с Exceptions
Миграции, фабрики, сиды, модели
Отношения
Аутентификация
Socialite
Scout
Query builder
Cache
Scopes
Pagination
Traits
Pipelines
Session
FormRequests
Middleware
Action Classes
Console Commands
Queues
Notifications
Collections
Events
DB transactions
...
И все это закрепляется активным обсуждением в чате.
У меня есть приличный опыт разработки, которым я готов поделится. Благодаря этому курсу Вы пользуетесь моим опытом и “телепортируетесь” во времени).
https://learn.cutcode.dev/store
Напоминаю, что завтра будет открыт набор на курс по изучению продвинутых методик использования Laravel! Полгода прошло после третьего потока и собралась большая компания желающих!
🔻Что будет на курсе:
Отладка (Sentry, Debugbar, Telescope, …)
Дизайн паттерны
DDD
TDD (небольшой пример)
Отправка писем
Тесты(Pest)
Работа с Exceptions
Миграции, фабрики, сиды, модели
Отношения
Аутентификация
Socialite
Scout
Query builder
Cache
Scopes
Pagination
Traits
Pipelines
Session
FormRequests
Middleware
Action Classes
Console Commands
Queues
Notifications
Collections
Events
DB transactions
...
И все это закрепляется активным обсуждением в чате.
У меня есть приличный опыт разработки, которым я готов поделится. Благодаря этому курсу Вы пользуетесь моим опытом и “телепортируетесь” во времени).
https://learn.cutcode.dev/store
Друзья!
Открыт набор группы на обучение продвинуты методикам использования Laravel на примере интернет-магазина. Поток начинается со следующего понедельника:
https://learn.cutcode.dev/store
Внимание! Напоминаю, что курс не для новичков! Необходимо уверенно владеть основами Laravel - в объеме тем, выделенным красным на Laravel Roadmap.
Открыт набор группы на обучение продвинуты методикам использования Laravel на примере интернет-магазина. Поток начинается со следующего понедельника:
https://learn.cutcode.dev/store
Внимание! Напоминаю, что курс не для новичков! Необходимо уверенно владеть основами Laravel - в объеме тем, выделенным красным на Laravel Roadmap.
cutcode.dev
Дорожная карта обучения Laravel | Laravel Roadmap от CutCode
Эта дорожная карта - план изучения Laravel (Laravel Roadmap), которую я составил на основе своего многолетнего опыта, чтобы дать вам последовательный пошаговый план действий и полную картину обучения. К каждой теме есть видеоматериалы и статьи для детального…
Нетипизированные перечисления в запросах к базе данных и метод начальной загрузки withSchedule() в Laravel 11.1
На этой неделе команда Laravel выпустила версию 11.1 с методом начальной загрузки withSchedule, нетипизированными перечислениями в конструкторе запросов, опциями управления списками SES и многим другим. Laravel 11.1 — это первая минорная версия с момента выхода общедоступной версии Laravel 11, выпущенной ранее в этом месяце.
https://laravel-news.com/laravel-11-1-0
На этой неделе команда Laravel выпустила версию 11.1 с методом начальной загрузки withSchedule, нетипизированными перечислениями в конструкторе запросов, опциями управления списками SES и многим другим. Laravel 11.1 — это первая минорная версия с момента выхода общедоступной версии Laravel 11, выпущенной ранее в этом месяце.
https://laravel-news.com/laravel-11-1-0
Релиз Laravel Herd для Windows
Herd — это быстрая, нативная среда разработки на Laravel и PHP для Windows. Он включает в себя все, что вам нужно для начала разработки на Laravel, в том числе PHP и Nginx🤓:
https://herd.laravel.com/windows
📹Также видеоурок по работе с Herd:
https://www.youtube.com/watch?v=aT_qqtk97Bw
Herd — это быстрая, нативная среда разработки на Laravel и PHP для Windows. Он включает в себя все, что вам нужно для начала разработки на Laravel, в том числе PHP и Nginx🤓:
https://herd.laravel.com/windows
📹Также видеоурок по работе с Herd:
https://www.youtube.com/watch?v=aT_qqtk97Bw
Коллеги, сделал обзор на курс по Интернет-магазину. Как говориться, лучше один раз увидеть:
https://youtu.be/K70NV15RdSo
https://youtu.be/K70NV15RdSo
YouTube
Обзор содержания курса "Обучение Laravel на примере интернет-магазина". Laravel уроки
Коллеги, несколько человек просило рассказать подробнее о содержании курса по изучению Laravel на примере интернет-магазина. Сделал обзорное видео в котором рассказываю что именно мы делали в каждом этапе.
Думаю, посмотрев это видео точно определитесь подойдёт…
Думаю, посмотрев это видео точно определитесь подойдёт…
Генерируйте покрытие кода в Laravel с помощью PCOV
В Laravel есть все инструменты тестирования, необходимые для продуктивного написания функциональных и модульных тестов, что дает вам больше уверенности в вашем коде и меньше ошибок. Используя установку из коробки, мы можем сразу увидеть отчеты о покрытии с artisan с использованием --coverage флага.
https://laravel-news.com/generate-code-coverage-in-laravel-with-pcov
В Laravel есть все инструменты тестирования, необходимые для продуктивного написания функциональных и модульных тестов, что дает вам больше уверенности в вашем коде и меньше ошибок. Используя установку из коробки, мы можем сразу увидеть отчеты о покрытии с artisan с использованием --coverage флага.
https://laravel-news.com/generate-code-coverage-in-laravel-with-pcov
Быстрая подсветка кода на стороне сервера с помощью Tempest
Вчера был выпущен пакет Tempest от Brent Roose, предлагающий быструю, расширяемую, серверную подсветку кода для HTML и терминала в PHP.
https://laravel-news.com/tempest-highlight
Вчера был выпущен пакет Tempest от Brent Roose, предлагающий быструю, расширяемую, серверную подсветку кода для HTML и терминала в PHP.
https://laravel-news.com/tempest-highlight
Привет, коллеги! 🌙 🌙 🌙
Встречаем релиз новой версии MoonShine - 2.11 "Mystical Assistant".
Больше полугода мы работали над очень крутой возможностью нашей админки - а именно интеграцией в MoonShine искусственного интеллекта.
Пока все работает в тестовом режиме, и команд воспринимается немного, но точно работают эти команды: "MoonShine, будь добр, сделай мне красивый интернет-магазин", "MoonShine, скажи Данилу что у меня какая-то ошибка, пусть даст совет". Внимание! Для корректной работы необходим микрофон!
Релиз состоялся благодаря собранным на Boosty средствам (https://boosty.to/cutcode). Их хватило не только на новый дизайн, но и на оплату труда команды ученых. Будем развиваться дальше! Всем спасибо за поддержку!
Встречаем релиз новой версии MoonShine - 2.11 "Mystical Assistant".
Больше полугода мы работали над очень крутой возможностью нашей админки - а именно интеграцией в MoonShine искусственного интеллекта.
Пока все работает в тестовом режиме, и команд воспринимается немного, но точно работают эти команды: "MoonShine, будь добр, сделай мне красивый интернет-магазин", "MoonShine, скажи Данилу что у меня какая-то ошибка, пусть даст совет". Внимание! Для корректной работы необходим микрофон!
Релиз состоялся благодаря собранным на Boosty средствам (https://boosty.to/cutcode). Их хватило не только на новый дизайн, но и на оплату труда команды ученых. Будем развиваться дальше! Всем спасибо за поддержку!
Please open Telegram to view this post
VIEW IN TELEGRAM