PHP Fart Time – Telegram
PHP Fart Time
1.96K subscribers
126 photos
7 videos
2 files
226 links
Привет, фартаны!

Дурачимся, пилим OpenSource и рассказываем про пердовые технологии в php.

Авторы контента: @roxblnfk и @butschster
Download Telegram
Forwarded from Алексей roxblnfk
https://www.twitch.tv/roxblnfk
Говорим про битрикс ))
💊16🤔5💩43🔥2
Пакетные новости #PackageNews

⭐️ Yii Database 2.0


Первая версия была вырезана из Yii2 с сохранением API.
Вторая версия: PHP 8.1+, типизация, рефакторинг и новые плюшки.

⭐️ Path

Кроссплатформенная работа с путями файловой системы.
Я уже в трёх или более пакетах использую эту абстракцию. Надоело копировать — вынес в отдельный пакет.

Здесь мы имеем объект Internal\Path, который можно использовать как иммутабельный Value Object с понятной семантикой и удобными хелперами.
Кстати, это первый пакет, в котором для тестирования используется Testo.

—-

Мы полностью завершили работу над build.roadrunner.dev — теперь это полноценный конструктор RoadRunner-бинарников.

Теперь вы можете прямо на сайте:
- Выбрать нужные плагины
- Сформировать конфигурацию
- Скачать готовый бинарный файл RoadRunner под свою операционную систему — со всем необходимым набором плагинов внутри.

Наступило время комьюнити-плагинов.

Мы создали отдельную GitHub-организацию, в которой собираем плагины, разработанные сообществом. Если вы хотите публиковать свои плагины — подавайте заявку, и репозиторий появится в каталоге после индексации. А значит — станет доступен прямо в build-сервисе.

🔌
Уже доступны первые плагины:

⭐️ Auth0
Полноценная SSO-аутентификация на уровне RoadRunner.
Пользователь логинится ещё до попадания запроса в PHP. RR проверяет авторизацию сам — и передаёт в PHP уже валидированный HTTP-запрос с данными атворизованного пользователя.

⭐️ cron
Запуск любых консольных команд по расписанию — прямо из RoadRunner.

⭐️ Sentry
Отправка ошибок идёт не из PHP напрямую, а через RR-коллектор.
PHP-воркеры не блокируются, RoadRunner сам агрегирует и отправляет события в Sentry в фоне.

⭐️ S3
Работа с S3-бакетами на уровне RR + удобное взаимодействие через RPC на стороне PHP.

Если у вас есть идеи или свои плагины — присоединяйтесь!
1🔥327🤯54
Вышел PHPStorm 2025.3

- Поддержка PHP 8.5
- Вложенные дженерики типа Inner<Inner<DateTime>>
- Встроенный Laravel Idea плагин
- Поддержка Pest 4
- JetBrains AI: добавили поддержку клода по подписке, но не факт, что в этой версии
- Автокомплит в терминале
- Новая тема ОСТРОВА

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

Но больше всего меня пугают эти ОСТРОВА. Не знаю, зачем они каждый раз ищут, куда бы воткнуть больше отступов и что бы ещё такого скруглить... но я, как бы, уже настроил комфортные цвета для себя. Нахера мне этот их "улучшенный контраст в редакторе"?

Кто обновился, поделитесь впечатлением. Можно ли отключить Laravel Idea и эти острова? Сильно тормозит? Какие плагины отвалились?
🔥85💊1
Пока обновляется PHPStorm, ещё одна новость.

JetBrains Fleet — ВСЁ!

Мне даже пришлось создать тег #TheFutureOf: видимо с такими словами они хоронят свои продукты.



Fleet похоронили, но на базе него сделали новый редактор Air. Ну как редактор? Workflow Manager для LLM-агентов.
Пока работает только на маках.
🔥7🤔4🤮3😁2
PHP Fart Time
Вышел PHPStorm 2025.3 - Поддержка PHP 8.5 - Вложенные дженерики типа Inner<Inner<DateTime>> - Встроенный Laravel Idea плагин - Поддержка Pest 4 - JetBrains AI: добавили поддержку клода по подписке, но не факт, что в этой версии - Автокомплит в терминале …
Халявные гигабайты на SSD!

Найдите папку кеша PHPStorm (на винде это %APPDATA%/JetBrains) и удалите кеш для старых версий.

У меня набралось почти 6 гигов. Сколько у вас?

На макоси: ~/Library/Caches/JetBrains
В Toolbox: Настройки -> Инструменты -> Очистить оставшиеся каталоги инструментов
🔥236
Пакетные новости #PackageNews

🖼 Через несколько дней после релиза DBAL, команда Yii3 релизнула Active Record 1.0.
Тот самый, всеми любимый, AR из Yii2 почти в первозданном виде.
Поздравляем Yii Framework.


🌀 Но что-то давно мы не писали про #Spiral. А всё потому, что не было релизов.
Но вот настало время!
Фичей и фиксов накопилось столько, что не релизить уже нельзя. Последним пинком стал выход Symfony 7.4, после которого обычный запуск консольной команды стал пестрить депрекейтами.
Депрекейты устранили, Symofny 8 добавили. Дока в пути!
Spiral 3.16


Cycle ORM 2.12 получил фичи, которые стоило бы добавить ещё 3 года назад:
- Добавлен Loader для связей BelongsToMorphed, а это значит, что теперь их можно загружать жадно или методом ->load().
Полиморфные связи, кстати, поддерживаются только в Cycle и Eloquent.
Doctrine рекомендует заменять полиморфные связи наследованием таблиц (JTI), но не всегда это возможно.
JTI, кстати, поддерживается только в Cycle и Doctrine.
На пальцах про STI и JTI
- Добавлен массовый догрузчик связей.
Если есть пачка сущностей, которым надо "догрузить" связи, и сделать это оптимально, минуя N+1 проблему, то BulkLoader придётся кстати.
Как обычно, все фичи Cycle прекрасно работают и с Cycle Active Record, и BulkLoader — не исключение. Но надо придумать сахарный метод 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33106
Последняя #ТоксикСреда 2025 года.

Вот твит от DHH, автора RoR: микросервисы — это обман (перевод).
Понятно, что это тупой наброс ради холивара и тысячи лайков. Но у такого наброса есть эффект: тысячи фанатов начинают в это верить и ретранслировать.

У тех, кто ещё не сталкивался с микросервисами или имел негативный опыт, подобные вбросы только усиливают страхи.
Последователь DHH, Тейлор Отвел, тоже не любит микросервисы (но даже если и любит, то не признается): Laravel не про микросервисы, поэтому эта позиция им не выгодна. Вот они и вынуждены говорит, что каплинг — это хорошо, только не уходите от нас.

Во всех проектах, где я бывал, микросервисы отлично себя чувствуют. Все мухи отделены от котлет: в разных сервисах своя ответственность, свои зависимости и языки (если потребуется). "Отказ от ответственности" позволяет сконцентрироваться на разработке одной изолированной области, не загружаясь другими. Какие-то простые сервисы делаются только один раз, и о них можно уже не вспоминать, лишь бы продолжали работать.
Да, немного пришлось повозиться с деплоем, но и в случае масштабирования монорепы этим придётся заняться.

Нельзя однозначно сказать, что одно лучше другого, но они это говорят, а их слушают.



Политика Ziglang: No LLM / No AI Policy.
Они напоминают о ней даже в новости о миграции с Github на Codeberg.

Вроде бы и окей: ну переехали с гитхаба, ну не принимают код от вайбкодеров (подкреплено несколькими примерами) — в их случае, может, и оправдано.
Но даже тут находятся люди, воспринимающие это как догму, и применяют это ко всему остальному: "NO LLM!" и ссылка на Zig.


LLM — отличный инструмент под свои задачи, особенно языковые. Это же прикладная статистика, построенная на огромных массивах текстов, в том числе кода. Глупо отрицать: бери да пользуйся!

Главное соблюдать гигиену. Вот несколько правил для ментального здоровья:
- LLM врёт. Это всего лишь статистика на стероидах в форме удобного инструмента, а не искусственный интеллект. "Не доверяй и проверяй" — основной принцип работы с LLM.
- Автор сгенерированного не ты, а LLM. А значит:
- Относись к сгенерированному, как к буллшиту, пока не доказано обратное.
- Удаляй любой буллшит без мысли, что удаляешь важный результат своей деятельности.
- Не расстраивайся, если буллшит назовут говном: просто собери фидбек и преврати его в промпт для будущих генераций.
Но не злоупотребляй: лучше потрать на фильтрацию буллшита своё время, но не чужое.
- Ответственность за буллшит всё-равно на тебе. Отмаза "это не я, а LLM" не прокатит, если ты уже отправил это от своего имени.



Если нужен какой-то вывод, то вот:

Нахер DHH. Нахер Laгavel. Не бойтесь пользовать AI.
От души желаю всем критического мышления.
С наступающим Новым Годом!
1🔥3498🤮1
Когда же кончится эта #ТоксикСреда? :D

Проект "Spiral для домохозяек", известный как Yii3, вышел в релиз!

Это — без преувеличения огромное событие для сообщества.


По моим подсчётам, на разработку ушло чуть больше 6 лет. Это был долгий путь с переломными моментами и великими сложностями, которые, по итогу, удалось преодолеть.

- На раннем этапе создания Yii3 я научился многому. Сильно поднялось качество своего кода: мы одни из первых начали применять мутационное тестирование и статанализ в CI (мы тогда ещё phan использовали, но быстро перешли на psalm). Я научился работать в команде (до этого попилял всякие проекты в соло). Я проникся опенсорсом и теперь из него не вылезаю.

- Мне нравилось обсуждать многие фундаментальные фреймворковые вещи. Срачи порой были лютые и не все были завершены так, как я бы этого хотел (и это вовсе не плохо). Сейчас таких срачей не будет, ибо база готова.

- Моим любимым пакетом по-прежнему остаётся yiisoft/injector, который я вывел в релиз одним из первых (сразу после friendly exception). Это настолько самостоятельный пакет, что даже не входит в шаблоны по умолчанию.

- На днях я создал каталог Awesome Yii3, где собрал ссылки на видосы и статьи по Yii3, однако с пакетами пока не густо: кроме официальных пакетов, Cycle и Багри, туда добавить пока нечего. Надеюсь, сообщество расшатается и список пополнится действительно крутыми штуками.

- Кстати, в "Spiral для мужиков" также используются некоторые вспомогательные пакеты из Yii3, которые, к слову, оказались гораздо качественнее аналогов из других популярных экосистем.


PHP Fart Time поздравляет всех: домохозяек, фрилансеров, инженеров и тимлидов, кому предстоит работать с Yii3. А также Yii3 Team!

А от себя добавляю ещё персональное "спасибо!".



Короче, жить стало лучше, жить стало веселее.
Пусть 2026-й год будет годом нормальных фреймворков!
🔥57😁1397🤔1
#Article
А я вам новую портянку принёс ❤️
Testo. Assert и Expect
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20102😁1
Айда заполнять форму ежегодного опроса PHP сообщества!

Самое сложное — вспомнить, что произошло за год: кто больше всех выпендривался, какие статьи и видосики выходили.

Давайте заодно в комментах накидаем годноты за 2025 год, чтобы остальным было проще вспомнить.
1686
Сегодня решил немного постримить. Через 30 минут на нашем youtube канале. Либо сегодня, либо никогда)