Пятиминутка PHP
2.87K subscribers
334 photos
27 videos
831 links
Подкаст о PHP, DBA, архитектуре, DevOps. Авторское мнение о современных трендах в веб-разработке и интересные беседы с гостями. Темы про СУБД, Linux, DevOps

Автор: @petrmyazin
Download Telegram
Что ж, почитаем…
👍46😁32👏5👎1
Сегодня весь день пробую расширение Augment Code для PhpStorm для "агентского" подхода к написанию кода - это когда AI планирует решение задачи и потом пишет код в несколько файлов сразу, делает всё сам "под ключ".

Я указал в инструкциях: после написания кода запусти PHPStan и поправь ошибки, если появились.

Что получилось:
1) Агент написал код и запустил PHPStan
2) PHPStan указал на несколько ошибок
3) Агент посмотрел в мой baseline файл (файл со списком ошибок, которые я ранее проигнорировал и "замьютил") - нашел там похожую и добавил свою ошибку в игнор в baseline, таким образом "пофиксил"!

Я читал, что современные AI агенты подстраиваются под стиль проекта, но чтобы на столько... AI, который я заслужил 🥲
😁99👍5👏51🌚1
ИИ продолжает подрожать стилю моего проекта: я попросил написать PHPUnit тест, он попытался несколько раз (интересно было наблюдать за процессом), запутался в моках, в конце заменил тест на одну строку:


// Skip this test as it requires mocking static methods which is complex
$this->markTestSkipped('This test requires mocking static methods which is complex');


Начальник, я сделаль!
😁99🔥12👍6🏆4👨‍💻1
Всех с 4 мая!
🔥30🗿95
Forwarded from PHP Digest
🐉 MCP сервер на PHP

https://github.com/pronskiy/mcp

Anthropic недавно анонсировали поддержку удаленных MCP серверов, и вообще экосистема растет как на дрожжах.

Но большинство серверов пишут на Python и TS/JS. Хоть для PHP есть неофициальный SDK: https://github.com/logiscape/mcp-sdk-php, интерфейс у него отвратительный.

Хочется просто и быстро поднимать MCP-серверы на PHP, а не разбираться в кишках протокола.

Поэтому я сделал свою обертку:
https://github.com/pronskiy/mcp

Вот так теперь выглядит простейший MCP сервер:

(new \Pronskiy\Mcp\Server('echo-server'))
->tool(
'echo',
'Echoes text',
fn(string $text) => $text
)
->run();


Форкайте, ставьте ⭐️, кидайте ваши MCP серверы!
🔥21👍2😱2🤔1
Только что прошел опрос от JetBrains: Developer Ecosystem Survey 2025
Это был самый длинный опрос!

В конце есть опция "не хотите ли ответить на пару дополнительных вопросов?"
Я подумал: "раз уж столько времени инвестировал в основную часть, давайте и дополнительную, погнали..." - это было похоже на сеанс у психолога: "что вы чувствуете по поводу AI?", "как вы ощущаете себя на работе?", "если бы вы оказались на вечернике...".

Мощный опрос 💪 на столько мощный, что есть ощущение "переборщили".

Рекомендую:
https://surveys.jetbrains.com/s3/developer-ecosystem-survey-2025-sh?pcode=446867108239471112
💩18😁15👍2💯1
Forwarded from Пых (Валентин Удальцов)
Пыхап #4 × Lamoda Tech / 19 июня 2025

Ровно через 2 недели состоится четвёртый Пыхап! В программе 3 крутых доклада и новый формат — факап-разгоны!

👁 Observability в PHP без боли
Олег Мифле из Altenar научит держать руку на пульсе прода при помощи логов, метрик и трейсинга.

🎲 Абьюзим random_bytes()
Фёдор Кулаков из Lamoda проведёт в недра PHP, чтобы показать, как за минуту получить одинаковые "рандомные" значения.

📤 Кто отправит outbox?
Валентин Удальцов покажет, как эффективно отправлять сообщения, сохранённые вместе со стейтом.

🤣 Факап-разгоны
Опробуем новый формат от Lamoda Tech! 4 эксперта на сцене сначала обсудят свои факапы, а затем поразгоняют кейсы из Хобота, зала и чата трансляции. Путём голосования определим 2 победителей, которые получат бесплатные билеты на Пых.конф’25.

🍕 Афтепати и игры
После митапа можно будет остаться поболтать за пиццей.

📍 Пыхап пройдёт 19 июня в 19:10 (четверг) в офисе Lamoda (ул. Крылатская, 15). Вход бесплатный! Регистрация откроется завтра в 15:00 МСК на канале Пых.

📹 Как обычно, будет трансляция на YouTube и VK Видео с записью!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3
Чудесный день! PHP сегодня тридцать лет!
😁47🙈7👍3🔥2👎1🤡1
Media is too big
VIEW IN TELEGRAM
💙 Пых.конф’25 — старт продаж!

Пых.конф — новая PHP-конференция для всех от автора канала Пых Валентина Удальцова.

Единый язык. Кто-то из нас пишет на Yii и Laravel, другие выбирают Битрикс и WordPress, третьи экспериментируют с AMPHP и Swoole. Проекты разные. Подходы разные. Но язык один — PHP. Пых.конф даёт слово каждому!

Пространство PHP. Пых.конф объединяет русскоязычное PHP-сообщество в одной точке. Здесь делятся опытом, находят единомышленников и обсуждают, как проектировать, разрабатывать и поддерживать любые бэкенды на PHP.

🕔 19 сентября
🏘 Москва, Конгресс-центр ЦМТ
👥 400 участников
🔢 4 зала
🎙 28 докладов

Сегодня мы запускаем сайт и открываем продажи билетов по стартовой цене!

Заходи на conf.phpyh.ru и забирай свой билет за 10 000 рублей! Это цена для ранних пташек, завтра в 14:00 поднимем.

YouTube | VK Видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83👍3
Существует уже много сервисов AI Code Review. Это работает так: некий AI-бот подключается к вашему GitHub/GitLab репозиторию и проверяет Pull Request/Merge Request, оставляет комментарии. На GitHub есть даже встроенный GitHub Copilot - запускается в один клик.

Но есть небольшие трения или неудобства:
- нужно ждать пока бот сделает review. Минуту, или две, или пять. Звучит не очень долго (особенно по сравнению с человеческим code review), но отметим этот пунктик;
- нужно настроить этого бота: прописать какие-то системные инструкции, предоставить документацию по проекту. Неподготовленный AI напишет поверхностно и совсем не то, что реально ценно для проекта. Решаемо, но надо проделать подготовительную работу.

Недавно открыл для себя практику локального Code Review с AI непосредственно в моём редакторе кода:
- прогоняю Code Review, ещё до того, как сделал commit (не нужно ни пушить, ни PR создавать, сокращаю телодвижения)
- можно внести исправления и ещё раз запустить
- работает быстрее, чем на сайте через Pull Request, не надо ждать пока бот раскачегарится и подхватит, не теряю фокус на задаче
- и самое главное: AI Code Review запущенный из редактора даёт реально ценные советы, потому что в локальном редакторе у меня уже настроены guidlines/memories/и прочие техники формирующие контекст, прописаны ссылки на документацию.

Промпт простой:
Выполни команду git --no-pager diff main и проведи Code Review для моей ветки:
⁃ Проверь на логические ошибки и ошибки кодирования
⁃ Если есть комментарии, сравни что описано в комментариях с тем что реально реализовано
⁃ Проверь семантику выбранных имён переменных и методов
⁃ Проверь на оптимальность SQL запросов и алгоритмов

Не вноси изменения в код, только проверь и дай отчёт.


По хорошему надо бы построить грамотный CI процесс с включением AI Code Review.
👍30🤷‍♂7🔥54
Forwarded from Пых (Валентин Удальцов)
Пыхап #4 × Lamoda Tech / 19 июня 2025

Ровно через 2 недели состоится четвёртый Пыхап! В программе 3 крутых доклада и новый формат — факап-разгоны!

👁 Observability в PHP без боли
Олег Мифле из Altenar научит держать руку на пульсе прода при помощи логов, метрик и трейсинга.

🎲 Абьюзим random_bytes()
Фёдор Кулаков из Lamoda проведёт в недра PHP, чтобы показать, как за минуту получить одинаковые "рандомные" значения.

📤 Кто отправит outbox?
Валентин Удальцов покажет, как эффективно отправлять сообщения, сохранённые вместе со стейтом.

🤣 Факап-разгоны
Опробуем новый формат от Lamoda Tech! 4 эксперта на сцене сначала обсудят свои факапы, а затем поразгоняют кейсы из Хобота, зала и чата трансляции. Путём голосования определим 2 победителей, которые получат бесплатные билеты на Пых.конф’25.

🍕 Афтепати и игры
После митапа можно будет остаться поболтать за пиццей.

📍 Пыхап пройдёт 19 июня в 19:10 (четверг) в офисе Lamoda (ул. Крылатская, 15). Вход бесплатный! Регистрация откроется завтра в 15:00 МСК на канале Пых.

📹 Как обычно, будет трансляция на YouTube и VK Видео с записью!
Please open Telegram to view this post
VIEW IN TELEGRAM
В редакторе кода Zed появился отладчик, который, в том числе, поддерживает XDebug 👀

https://zed.dev/docs/debugger
🔥12😱2🤷‍♂1
Смотрю сейчас стрим с основным разработчиком Filament — Дэном Харрином, где он рассказывает о новых фишках Filament 4 (пока что это бета-версия).

Год или два назад я попробовал Filament, но особо не вникал, как там всё устроено под капотом. Сейчас, в процессе просмотра стрима относительно оптимизиций в Filament 4 у меня реально глаза округляются. Но не потому что Filament 4 так крут, а потому что Filament 3 был так плох.

Вот, например, история про модальные окна. Представьте: у вас таблица на 1000 строк, и сервер рендерит её за 3 секунды. В каждой строке есть кнопка «View», чтобы открыть карточку записи в модальном окне. Так вот, раньше — в Filament 3 — когда вы нажимали эту кнопку, сервер заново рендерил всю таблицу (все 1000 строк с запросами к базе!), плюс саму модалку. В итоге на клиент улетал огромный HTML, и открытие модального окна занимало те же 3 секунды, что и рендер всей таблицы.

В Filament 4 оптимизировали: теперь при открытии модалки сервер генерирует только нужную вёрстку для этого окна. Результат — модалка открывается почти мгновенно, без лишней нагрузки.

А сразу нельзя было сделать нормально? Я реально в шоке! Пока смотрел стрим, даже перемотал назад: не сразу поверил, что раньше для открытия одной карточки приходилось рендерить всю таблицу из тысячи строк.

https://www.youtube.com/live/vbtHGZXzIpU?si=MoMd98nG-o79LrWQ&t=2099
🤮19💩10😁4🔥1🌚1
Подсел на YouTube канал CodeOpinion про ООП и DDD в примерах, мини-разборы разных вопросов и примеров в формате 10-15 минут.

Вот, например, как отличить логику относящуюся к Application Layer от "бизнес-логики" Domain Layer на примере авторизации: https://youtu.be/0TpejBzN-xw?si=XqjgAZ9_Iqai38Pb
🔥31👍53
Смотрю очередной выпуск подкаста «Организованное программирование» на тему «ORM vs SQL». Внезапно участник рассказал об автоматизированном тестировании SQL-запросов через EXPLAIN.

Ссылка с таймокодом: https://youtu.be/O1Qxpvt7WCw?si=Rbs_vt3CTB7BunRD&t=1147

Удивительно, что я какое-то время назад независимо пришёл к идентичному решению!

Суть подхода:
В проекте много отчётов на чистом SQL (без ORM/query builder). В тестовом окружении все они запускаются с подстановкой EXPLAIN перед SELECT.

Это даёт:
- Мгновенное выполнение в тестах (даже для сложных запросов);
- Проверку синтаксиса, наличия полей и таблиц;
- Нулевую стоимость написания теста (новые отчёты подключаются автоматически).

Надо понимать, что это смоук-тест: он не проверяет данные, но гарантирует запуск отчёта.

Позже метод был адаптирован для других модулей. Например, для CRUD-таблиц с сортировкой по колонкам.
Автотест запускает EXPLAIN SELECT ... ORDER BY [каждая_колонка];
Ловит ошибки в сложных вычисляемых полях с подзапросами (реальные кейсы были!).
Теперь всё покрыто EXPLAIN-тестами без ручного написания. Добавил колонку в CRUD? Движок тестирования сам запустит сортировку.

p.s. до этого использовалась другая менее эффективная идея: всем SELECT запросам добавлялся LIMIT 1 для смоук-тестов.
🔥245👍1
Codex - это AI агент от OpenAI который надо подключить к своему GitHub, поставить ему задачу, он что-то там в фоне программирует, результат потом можно превратить Pull Request.

Говорят, это удобно для мелких рутинных задач, когда нет необходимости вмешиваться в работу агента где-то в середине процесса, когда нет необходимости направлять его. По принципу: поставил задачу и забыл. Потом, как будет время, посмотреть результат, сделать merge.

Распробовал, подтверждаю: именно так и работает. Вот сейчас еду в общественном транспорте и копирую задачи из трекера в Codex на мобильном телефоне (в приложении ChatGPT). Завтра утром посмотрю получившийся код.

По хорошему, надо бы эту процедуру копипасты как-то автоматизировать. Но, справедливости ради, некоторые формулировки задач я всё-таки дорабатываю перед отправкой в Codex, когда интуиция подсказывает мне, что просто так LLM не разберётся, ибо маловато контекста.

Минусы: проехал свою остановку 🤦‍♂️
😁382
Заканчиваем приём заявок на доклады

Завтра в 18:00 мы закроем подачу заявок на доклады на Пых.конф’25. Если у тебя есть идея для выступления — самое время закинуть её в Хобота! Мы рассматриваем все тезисы и помогаем с их доработкой.

Пожалуйста, перешли это сообщение в чат коллегам, вдруг они не знали.
👍2🔥21
Ставь лайк, если был яркий момент в жизни!
👍53😁27🤡4💯2🤔1😈1
AI-программист работает не покладая "рук".
Задача: улучшить графики.

AI:
1) Добавляет плагин ChartDataLabels
2) Немного подумав, убирает ChartDataLabels
3) Готово!
😁53🤣21🥰21