TG Telegram Group Link
Channel: Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Back to Bottom
🚨 Что на самом деле происходит с увольнениями в ИТ

Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!

🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы

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

👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg
Переменной $a было задано значение 5, затем объявлена переменная $b=&$a, после чего $b была приравнена к 10. Чему равны переменные $a и $b?
Anonymous Quiz
3%
5, 5
21%
5, 10
76%
10, 10
⌨️ Топ-вакансий по PHP за неделю

Backend Developer (Sheet Music Plus) — 5 000 —‍ 6 000 €, удалёнка (США)

Fullstack developer (PHP+JS) — от 2000 до 3000 $, удалёнка (Москва)

PHP-разработчик (Digital) — от 240 000 ₽, удалёнка (Москва)

PHP Backend-разработчик (Middle+)— от 180 000 ₽, Гибрид (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Преобразование JSON в типизированные коллекции с помощью функции Laravel AsCollection::of()

Если вы когда-либо сохраняли сложные структуры данных в JSON-колонках и потом пытались с этим работать — вы знаете, как легко всё превратить в кашу из массивов. Но Laravel снова на шаг впереди. Встречайте: AsCollection::of() 🎉

Теперь можно автоматически превращать JSON-данные в коллекции объектов нужного класса. Это значит — типы, методы, читаемость и никаких костылей!

🔗 Полная статья
🆕 PHP 8.4: Новый способ работы с HTML — Dom\HTMLDocument

PHP 8.4 привносит свежесть в старую боль — работу с HTML-документами через DOMDocument. Встречайте: Dom\HTMLDocument из нового пространства имён Dom\*. Он: более совместим со стандартами, работает быстрее, и избавляет от некоторых багов старого DOM.

🧱 Интерфейс знакомый: loadHTML, getElementById, saveHTML — всё на месте. Но не всё так просто:
🚫 Внимание: это не прямой заменитель DOMDocument. Старый и новый классы работают параллельно.

📌 Что нового:
Dom\HTMLDocument::createFromString($html) вместо loadHTML()
Поддержка CSS-селекторов напрямую: querySelector() и querySelectorAll() 🔥
Более строгий парсинг: предупреждения, если нет <!DOCTYPE>, автоматическое добавление <head> и <body>
importLegacyNode() — чтобы не страдать при переносе узлов из старых DOMDocument

Быстрее на лицо:
1 млн итераций:
DOMDocument: ~4.3 сек
Dom\HTMLDocument: ~3.4 сек
🛠️ Документации мало, но JetBrains уже подготовили stubs для PHPStorm. Найдёшь тут:
👉 Github

🎯 В целом — большое улучшение для тех, кто серьёзно работает с HTML в PHP. В будущем ждём больше инструментов и автоматической миграции

🔗 Читать статью
🧹 Команда дня: Очистка кеша Composer

composer clear-cache

Зачем это нужно?

Composer кеширует метаданные пакетов и архивы, чтобы ускорять работу. Это удобно, но в некоторых случаях кеш может стать источником проблем:

🔸 обновления зависимостей «не видятся»;

🔸 Composer использует устаревшие версии;

🔸 баги или непредсказуемое поведение при установке/обновлении пакетов.

В таких случаях первое, что стоит попробовать — очистить кеш.

Когда это особенно полезно:

🔹 После смены версии PHP или Composer.
🔹 После редактирования composer.json вручную.
🔹 При сбоях в composer install или composer update.
🔹 Если Composer «видит» зависимости, которых уже нет.

Где живёт кеш?
По умолчанию:
macOS / Linux: ~/.composer/cache
Windows: %LOCALAPPDATA%\Composer\Cache

Хорошо сочетать с полной переустановкой зависимостей:

rm -rf vendor/ composer.lock


composer clear-cache

composer install


Используйте в CI при странных ошибках установки зависимостей.

Если вы используете Docker, убедитесь, что кеш не залипает внутри контейнера.

🧠 Бонус: посмотреть размер кеша

du -sh ~/.composer/cache

Библиотека пхпшника #буст
5 невероятных новых возможностей в Symfony 7.3 🚀

Фреймворк получил сразу несколько мощных улучшений, которые делают код чище, отладку проще, а работу — быстрее. Вот ключевые фичи релиза:

1️⃣ ObjectMapper: минимум шаблонного кода
Маппинг DTO → Entity теперь одной строкой:

$user = $mapper->map($dto, User::class);

А обновление объекта — без боли:

$mapper->map($dto, $user);

2️⃣ Пояснения решений Security Voter'ов
Теперь можно узнать почему отказано в доступе — Symfony выводит причины в профайлер и логи:

$vote?->addReason('Пользователь заблокирован и не может комментировать');

3️⃣ JsonPath: запросы к JSON как XPath к XML
Новый компонент для извлечения и фильтрации JSON-данных:

$crawler->find('$.store.book[?(@.price < 10)]');

Поддержка функций length(), count(), match() и др.

4️⃣ Статические страницы ошибок
Теперь можно сгенерировать HTML-страницы для ошибок (400–511) и отдать их напрямую из nginx:

APP_ENV=prod php bin/console error:dump var/cache/prod/error_pages/

5️⃣ Server-Sent Events — просто
Реализовать стриминг событий на клиент стало легче:

yield new ServerEvent($job->toJson(), type: 'jobs');

Без внешних библиотек и с нативной поддержкой.

🔗 Подробнее — в блоге Symfony.

Библиотека пхпшника #буст
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»?

Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.

🧐 Мы проводим исследование, чтобы выяснить:

— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор

Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.

😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
Стоит ли изучать Symfony, если вы фрилансер или маленькое агентство?

К нам пришёл вопрос от подписчика:
«Symfony — это только для крупных команд и энтерпрайз-проектов, или его можно смело использовать фрилансерам и маленьким агентствам?»

Anton , PHP-разработчик


Symfony — мощный и гибкий фреймворк, который часто ассоциируется с большими корпоративными проектами. Но стоит ли его учить, если вы — фрилансер или маленькая команда?

Symfony — не только для больших проектов
Да, Symfony отлично масштабируется для сложных систем с несколькими командами и сотнями модулей. Но его компоненты можно использовать по отдельности, что даёт гибкость и небольшим проектам. Он не обязательно громоздкий — всё зависит от подхода.

Обучение Symfony — инвестиция в профессионализм
В отличие от более «opinionated» фреймворков (например, Laravel), Symfony даёт больше контроля и понимания, как устроен PHP-стек изнутри. Это даёт прочный фундамент, который пригодится при росте и переходе к более сложным задачам.

Для фрилансера важна универсальность
Symfony подходит, если вы хотите не просто быстро делать задачи, а понимать архитектуру, строить расширяемые решения и работать с разными клиентами. Это может быть полезно и для маленьких проектов, где качество важнее количества.

Однако, время — главный ресурс
Для простых сайтов и MVP иногда проще взять что-то более лёгкое и быстрое. Но если вы готовы инвестировать время в изучение, Symfony откроет двери к более серьёзным проектам и клиентам.

Что делать?
🔸 Если вы начинаете и хотите быстро запускать проекты — можно рассмотреть более «легковесные» фреймворки.

🔸 Если вы планируете расти, работать с разными клиентами и стремитесь к глубине — Symfony стоит учить и использовать даже в маленьких проектах.

🔸 Комбинируйте: учитесь Symfony на уровне компонентов и используйте именно то, что нужно для конкретной задачи.

💬 А вы что думаете? Используете ли Symfony в фрилансе? Какие плюсы и минусы заметили? Делитесь опытом и советами в комментариях👇

Библиотека пхпшника #междусобойчик
🌐 Шпаргалка по ключевым сетевым протоколам и их взаимосвязям

Подготовили для вас наглядную схему, которая визуально покажет взаимодействие протоколов.

Краткие пояснения по схеме:

• IPv4 / IPv6 — сетевые протоколы, определяющие, как устройства находят друг друга в интернете

• ICMP / ICMPv6 — диагностика и контроль (например, команды ping, traceroute)

• TCP / UDP / SCTP / DCCP — транспортные протоколы

• IPSec — безопасность на уровне IP (шифрование, проверка подлинности)

На основе UDP работают:

• DNS — доменные имена
• DHCP — выдача IP-адресов
• SIP — VoIP телефония
• NTP — синхронизация времени
• RIP / RPT — маршрутизация
• QUIC — альтернатива TCP от Google, работает поверх UDP

На основе TCP:

• HTTP / HTTPS — веб-протокол
• SSL/TLS — безопасное соединение
• SSH — защищённый удалённый доступ
• POP / IMAP — получение почты
• RDP / VNC — удалённый рабочий стол
• BGP — обмен маршрутами между провайдерами

💬 На какие темы вы бы хотели увидеть шпаргалки? Напишите свои варианты в комментарии 👇

Библиотека пхпшника #буст
Сказ о том, как один программист себе мебель из ДСП на PHP программировал

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

Основная идея — описывать мебель как набор параллелепипедов с понятными размерами: ширина, высота, глубина. Вместо классического 3D-моделирования с визуальным интерфейсом используется скриптовый подход, где мебель строится и модифицируется через код на PHP. Это упрощает внесение изменений и позволяет генерировать точные схемы для распила.

Для визуализации и рендеринга моделей применяется OpenSCAD — легкий инструмент, который работает с текстовыми файлами, описывающими геометрию. Автор создал библиотеку, которая генерирует SCAD-файлы из PHP-кода, добавляя новые возможности для удобной работы с мебельными деталями и их расположением.

🔗 Хабр
🥴 Средний разработчик меняет работу каждые 1,5 года

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

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

😳 О чем говорим откровенно:
— Job-hopping и что за этим стоит
— Red flags, которые мгновенно убивают мотивацию
— Реальные источники вакансий (не те, что рекламируют)
— Боль от общения с рекрутерами
— Сколько этапов отбора — норма, а сколько — издевательство

Когда мы объединим опыт сотен IT-специалистов, получится настоящая карта того, как устроена индустрия. Не по версии HR-отделов, а по версии тех, кто пишет код, тестирует продукты и двигает технологии вперед.

🚀 Участвовать в исследовании → https://clc.to/9aaXVg
👔 Роль крупных компаний в развитии IT-индустрии

В мире технологий существует устоявшееся мнение, что крупные корпорации — это непоколебимые лидеры инноваций и драйверы индустрии. Но давайте посмотрим трезво.

• Часто за красивыми презентациями и маркетингом скрывается консерватизм. Новые идеи не всегда приживаются, если они угрожают прибыльности или текущим бизнес-моделям.

• В больших организациях бюрократия и формальные процедуры порой загоняют проекты в рамки, где инновации превращаются в рутину и формальность.

• Монополизация рынков и контроль над ключевыми сегментами IT создают барьеры для молодых стартапов и независимых разработчиков.

В итоге мы получаем стабильность и масштаб, но платим за это снижением гибкости, замедлением темпов внедрения действительно новых технологий и ограничением свободы выбора.

💬 Кто видит в крупных компаниях источник прогресса, а кто — фактор стагнации? Ждём ваши мысли в комментариях 👇

Библиотека пхпшника #междусобойчик
💻 Подборка новостей по PHP за неделю:​

🔹 Laravel 12.16 — добавлены новые правила валидации: Rule::contains(), in_array_keys и метод Arr::hasAll(). Всё это повышает выразительность и гибкость при проверке данных.

🔹 Filament на Android — теперь админ-панель Filament можно запускать нативно в Android-приложении благодаря NativePHP.

🔹 Symfony 7.3.0 и 7.2.7 — вышли стабильная версия 7.3 с множеством новых фич (глобальные параметры переводов, атрибуты в консоли и др.) и минорное обновление 7.2.7 с исправлениями.

🔹 Неделя Symfony #961 (26-1 мая 2025 года) — опубликован обзор недели: выпуск 7.3, патчи 6.4.22 и 7.2.7, продолжение публикаций об обновлениях и подготовка к SymfonyOnline.

🔹 Sublime Text 4200 — редактор получил поддержку правой боковой панели, улучшенную подсветку кода и новые синтаксисы для ZSH и TOML.

Библиотека пхпшника #свежак
Вакансии «Библиотеки программиста»

Привет! Мы ищем контент-менеджеров, которые будут вести наши телеграм-каналы о разработке.

👾 Требования:
— знать принципы залетающего контента
— разбираться в темах, связанных с разработкой

Большим плюсом будет навык программирования на каких-либо языках.

Условия:
— удаленка
— частичная занятость
— сдельная оплата в зависимости от количества задач

🔥 Оставляйте отклик, и мы свяжемся с вами: https://forms.gle/o4BZnsQ526JoqsCq9
Вызов какой из этих функций значительно увеличит объем используемой памяти (представьте, что мы измеряем пиковое использование памяти до и после вызова функции)?
HTML Embed Code:
2025/07/01 14:06:02
Back to Top