4 Jun 2026, 10:35 UTC≈1,120 views17 reactionsread 7 August 2026 Под прошлым постом развернулась дискуссия, которая в очередной раз показала, что в программинге незыблемо только одно правило: it depends.
Для типичных монолитных по всем координатам приложений где все свалено в одну кучу: модели в одной папке, контроллеры в другой - то мое правило работает. Там если именовать все в стиле Model/User, Controller/User, т.е. ClassType/Feature, то быстро образуется бардак.
Однако продв…
👍14❤2🔥1
1 Jun 2026, 11:42 UTC≈1,300 views44 reactionsread 7 August 2026 Photo
Часто слышу мнение в стиле "неймспейс это тоже часть имени класса. Используйте его"
И, как правило, это выливается в такие классы как App\Controllers\User, App\Models\User, App\Resources\User.
Не надо так.
Upd: Люди потребовали деталей. Надо примерно так: UserController, UserResource. Вообще, по логике и UserModel надо бы, но один ключевой тип классов можно выделить как основной и суффиксы там не добавлять.
👍24💯17👎2❤1
20 Apr 2026, 13:35 UTC≈2,000 views14 reactionsread 7 August 2026 Хранение дефолтных значений
Для новой фичи мне нужно хранить токен Sentry и домен, где этот Sentry работает. Почти у всех он sentry.com, не так много кто использует self-hosted решения. Есть в общем два варианта как хранить эти данные. Либо мы храним все:
"token": "<token>",
"domain": "sentry.com(или свой какой-то)"
}
Либо, когда у нас само вырисовывается некое значение по умолчанию, которое будет у большинст…
👍13💘1
18 Jan 2026, 13:07 UTC≈2,570 views51 reactionsread 7 August 2026 Исследую сейчас исходники Livewire4. Прекрасный пример, когда две совсем разные логики пытаются всунуть в один метод.
Тут можно добавить компонент либо на основе класса, либо на основе вью. И эти две логики не имеют ничего общего.
Весь этот код буквально плачет и кричит: тут должны быть два метода! addClassComponent() и addViewComponent()
public function addComponent($name = null, $viewPath = null, $class = null):…
🤮27👍12💯10💩1😢1
9 Dec 2025, 11:24 UTC≈3,230 views92 reactionsread 7 August 2026 Вчера вышел PhpStorm 2025.3 со встроенной Laravel Idea на борту. JetBrains даже небольшую видюшку на этот счет сняли. https://www.youtube.com/watch?v=AZoOX6_mcZw
У меня была когда-то мысль сделать отдельный продукт. Типа PhpStorm + Laravel Idea и продавать это как Laravel IDE. А теперь сам шторм стал этим продуктом. А я буду сосредоточен на разработке. Там есть над чем голову поломать.
🔥66❤13👍12💩1
16 Sept 2025, 08:28 UTC≈9,360 views181 reactionsread 7 August 2026 Photo
Издательство BHV опубликовало мою книгу!
Давно хотел чтобы народ мог почитать печатное издание. В этом году издательство BHV вышло на меня и предложило опубликовать книгу. Долго работали, редактировали и т.д. и наконец она вышла. От гонорара отказался и очень рад, что она продается по весьма доступной цене. Около 650 рублей.
Где можно купить:
В книжных магазинах, например Читай-Город.
На сайте издательства: https…
🔥141👏26❤9😎5
25 Aug 2025, 07:37 UTC≈2,900 views62 reactionsread 7 August 2026 С 2010 по 2019 годы каждое лето, не считая одного, я участвовал в организации большой конференции в Москве - DevConf. Она выросла из PhpConf на идее создания конфы о веб-разработке вообще, не взирая на язык программирования. Она собирала пхпшников, рубистов. питонистов, жсников. Даже явисты с сишарперами заглядывали.
По сравнению с популярной конференцией для веб-разработчиков Highload, DevConf была лампово простой.…
👍31❤18🫡8🤮2😢2🔥1
18 Aug 2025, 11:42 UTC≈2,520 views98 reactionsread 7 August 2026 История одного бага, который тормозил шторм последние года два.
В плагине был функционал, который высчитывал все переменные в блейд-файле. использовался в 5 местах. Все было хорошо. Потом это понадобилось в шестом месте, но там также нужно было знать и место где переменная объявлена. Ну я включил это в логику, и забыл на два года. Все эти два года народ жаловался, что редактирование блейд-файлов стало как-то подторм…
🔥53👏21👍14🤝6😁4
12 Aug 2025, 13:26 UTC≈2,950 views34 reactionsread 7 August 2026 Опять начал пробовать AI для генерации кода. Попросил Junie написать метод, чтобы прошвырнулся по сервис провайдерам Laravel проекта и нашел там Model::unguard(). И если есть, просто вернуть true. Он сделал несколько запросов по поиску фраз в моем проекте, типа "service provider". Проанализировал тот код, и в итоге выдал решение, используя именно мои классы для работы с service provider. Умный.
Код он выдал более-ме…
👍23🔥7❤3😱1
1 Aug 2025, 11:49 UTC≈3,430 views164 reactionsread 7 August 2026 Photo
Laravel Idea стала бесплатной. Многим интересны детали, но ничего сообщить не могу. Только то, что будем продолжать работать над ней как раньше.
А работы там вагон. И интеграции с ИИ, ларавелевскими сервисами и сильно хочется еще пару вещей, для которых надо лезть внутрь шторма.
Сделал скриншот платного маркетплейса плагинов несколько дней назад. Таки вышел на первое место по скачиваниям! Если при этом учесть, что …
👍78🔥68❤11🕊3👾2😱2
10 Apr 2025, 12:22 UTC≈3,720 views21 reactionsread 7 August 2026 Photo
https://t.me/tg_5minphp/1413
Тут Петр Мязин из пятиминутки PHP удивляется, что старая монолитная IDEA оказалась более гибкой, чем модный опенсорсный VsCode. Я знаю как работает экосистема IDEA (ну плюс-минус) и видел как выглядят плагины к VsCode. Не особо удивлен. Ну может только добавить могу, что основная платформа IDEA - тоже давным давно открытая.
Почему Идея оказалась более гибкой - не знаю. Но хотел показать…
🔥15👍6
3 Mar 2025, 08:03 UTC≈3,130 views17 reactionsread 7 August 2026 Инкапсуляция или почему важно прятать как можно больше информации внутри обьектов
Большинство комплишенов моего плагина подсказывают параметры внутри методов. $foo->bar('тут комплитим'); в процессе вырисовался обьект CompletionContext, в котором есть обьект Parameter, и обьект ParameterList - это уже внутренние объекты PhpStorm. И юзались они везде и часто.
Теперь возникла мысль, что $foo['тут комплитим'] и $foo('т…
👍12🤔4❤1
Showing the 12 most recent of 20 posts we hold for @adelf_on_programming. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.