Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.33K photos
21 videos
26 files
4.02K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
💬 Общие чаты в команде: за и против

Slack, Telegram, Discord — рабочие чаты стали центром всего: задачи, баги, апдейты, мемы. Удобно… пока не превращается в постоянный шум и расфокус.

🔘 Что удобно:

— Быстро решить вопрос без созвонов

— Видно, кто чем занят

— Меньше митингов, больше живого контекста

— Держит команду в тонусе

🔘 Что бесит:

— Поток отвлечений не прекращается

— Важное тонет в болтовне

— Нарушает фокус и deep work

— Появляется тревожка «а вдруг я что-то пропустил»

Чаты работают, когда в них есть правила: меньше @all, больше тредов, без лишнего шума — и никто не сходит с ума.

А как у вас: общие чаты помогают или выматывают? Расскажите, как вы с этим справляетесь👇

🐸Библиотека пхпшника #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
1
💻 Подборка новостей по PHP за неделю:​

🔹 Laravel Idea бесплатно — с 30 июля 2025 плагин Laravel Idea стал бесплатным для пользователей PhpStorm, полный доступ ко всем функциям без доплат.

🔹 PHP 8.5.0 Alpha 4 — новая тестовая версия в рамках цикла PHP 8.5.

🔹 PHP 8.4.11 и 8.3.24 — релизы с исправлениями ошибок, рекомендуется обновление.

🔹 Symfony 7.3.2 — техническое обновление, доступны гайды и отчёты SymfonyInsight для безопасного апгрейда.

🔹 Symfony 28 июля — 3 августа 2025 — вышли версии 6.4.24, 7.2.9 и 7.3.2; начата депрекация XML-конфигурации в некоторых компонентах, улучшен YAML с автодополнением, переработан процесс дампа контейнера в XML.

Библиотека пхпшника #свежак
🔥2
⌨️ Топ-вакансий по PHP за неделю

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

TeamLead backend (PHP) — от 350 000 ₽, офис (Москва)

Senior PHP-разработчик — от 300 000 ₽, Гибрид (Москва, Батуми)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Оптимизированное шифрование строк с помощью Fluent в Laravel

Статья рассказывает о нововведении в Laravel, которое делает работу со шифрованием строк проще и читаемее.

Раньше, чтобы зашифровать строку внутри fluent-цепочки (str()), приходилось использовать pipe() с анонимной функцией — это разрывало читаемость кода.

Теперь Laravel поддерживает методы encrypt() и decrypt() прямо в цепочках, что позволяет:
🔹 Не выходить из fluent-интерфейса;
🔹 Поддерживать читаемость;
🔹 Использовать уже настроенные параметры шифрования (cipher, key) приложения.

Также показан реальный кейс: генерация и расшифровка идентификаторов документов, где важно:
🔸 зашифровать строку с нужным форматированием (дата, департамент и ID);
🔸 сохранить длину и читаемость;
🔸 безопасно расшифровывать обратно.

Ключевая идея: теперь можно удобно и безопасно обрабатывать чувствительные данные (настройки, токены, ID и пр.) прямо внутри str()-цепочек без лишнего кода.

🔗 Читать статью

Библиотека пхпшника #буст
Хватит спрашивать у синьоров джуниорские вопросы на собеседованиях

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

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

🔗 Хабр
1👍168😁2
🧅 Onion: Механизм многоуровневой обработки для PHP-приложений

Onion — это легкий пакет, предназначенный для облегчения многоуровневой обработки данных в приложениях. Он обеспечивает чистый и эффективный способ укладки слоев функциональности, позволяя разработчикам создавать гибкие и многократно используемые компоненты, которые легко компоновать и управлять ими. Каждый слой может выполнять определенную операцию над передаваемыми данными, что упрощает построение сложных рабочих процессов, сохраняя при этом четкое разделение задач.

👉 Github

Библиотека пхпшника #инструменты
4
Правильный перезапуск Opcache после развертывания

Важно правильно перезагружать Opcache при деплое кода на сервер без использования контейнеров.

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

Статья предлагает два решения проблемы:

1. Перезагрузка процесса «php-fpm» после деплоя новой версии кода. Однако, это решение приводит к прерыванию текущих запросов на короткое время.

2. Использование утилиты gordalina/cachetool или аналогичной, например, chop, для сброса кэша. Cachetool позволяет сбросить кэш без перезагрузки php-fpm, обнаруживая PHP-FPM через сокеты или IP-адрес и порт. Утилиту можно установить и использовать следующими командами:

Скачивание и установка:
curl -sLO https://github.com/gordalina/cachetool/releases/latest/download/cachetool.phar

chmod +x cachetool.phar

Сброс кэша:

php cachetool.phar opcache:reset

В случае использования других сокетов или IP-адресов и портов, команда выглядит так:
php cachetool.phar opcache:reset --fcgi=/var/run/php/php8.2-fpm-profiler.sock
👍5
Запуск PHP 1.0

Как выглядел код 30 лет назад?

💻 Смотреть видео

Библиотека пхпшника #буст
👍63🤔1
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
👾1
This media is not supported in your browser
VIEW IN TELEGRAM
💃 Как взять задачи посерьёзнее

Почему одним достаются крутые фичи, а вы — снова на багфиксе. Именно с такой историей пришёл к нам подписчик:
Работаю в команде больше года. Почти все ключевые и интересные задачи уходят к сеньорам. Мне достаются мелкие доработки, баги и то, что «надо кому-то сделать». Сначала думал, что это временно. Что делать, чтобы перейти на более серьёзный уровень и не застрять в рутине?


Если вы молча делаете своё и не выходите за рамки текущих задач, команду устраивает, что вы «надёжный исполнитель».

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

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

Если вы хотите получить серьёзную задачу — приходите подготовленным: изучите фичу, продумайте архитектуру, обозначьте риски. Это сигнал: вам можно доверять.

💬 Что вы делали для того, чтобы взять задачку покруче? Делитесь опытом в комментариях 👇

🐸Библиотека пхпшника #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔄 Команда дня: Обновление всех зависимостей до последних стабильных версий

📌 Команда:

composer update --prefer-dist

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

🔍 Зачем это нужно?
Регулярное обновление зависимостей помогает поддерживать проект в актуальном состоянии, обеспечивая:
Исправление уязвимостей безопасности: Обновления часто включают исправления для известных уязвимостей.
Совместимость с новыми версиями PHP: Некоторые пакеты могут требовать обновлений для поддержки последних версий PHP.
Доступ к новым функциям и улучшениям производительности: Обновления могут включать новые возможности и оптимизации.

⚙️ Как это работает?
composer update: Обновляет все зависимости до последних версий, соответствующих ограничениям, указанным в composer.json.
--prefer-dist: Предпочитает скачивание архивов пакетов вместо клонирования репозиториев Git, что может быть быстрее и надёжнее.

📦 Дополнительные флаги:
--no-dev: Не обновляет зависимости, указанные в секции require-dev.
--dry-run: Показывает, какие изменения будут внесены, но не выполняет их.
--with-all-dependencies: Обновляет все зависимости, включая те, которые являются зависимостями других пакетов.

🧪 Пример использования:

composer update --prefer-dist --no-dev

Эта команда обновит все основные зависимости до последних стабильных версий, исключая зависимости для разработки.

⚠️ Важные замечания:
Проверка совместимости: Перед обновлением рекомендуется проверить, совместимы ли новые версии зависимостей с вашим проектом.
Резервное копирование: Перед выполнением обновлений сделайте резервную копию вашего проекта, чтобы в случае проблем можно было восстановить его состояние.
Тестирование: После обновления зависимостей обязательно выполните тесты, чтобы убедиться в корректной работе приложения.

Библиотека пхпшника #буст
🥱63👍1
🧠 Выбор первого ML-проекта: чеклист против выгорания

Классика плохих решений в ML — выбрать слишком сложный проект: неделя ковыряния в коде, десятки крашей и никакого результата. Хотите дойти до финиша — начните с простого проекта, который реально можно довести до конца.

Мини-чеклист первого проекта:

1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».

2. Измеримая метрика — «точность 92%», а не «ну вроде работает».

3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.

Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.

👉 Начать свой путь в Data Science

Оплатите курс по ML до 17 августа — курс по Python в подарок.

📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.

💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
🧠 Оптимизация через обратный слэш в PHP — миф или реальность?

Опкод — промежуточное представление кода, которое исполняется Zend VM. PHP, как и Java, сначала транслирует код в опкоды. Только если Java сохраняет байткод в .class, то PHP — нет. Для этого и существует OPcache.

⚠️ Проблема:
При вызове стандартных функций без обратного слэша (например, explode()), PHP сначала пытается найти функцию в текущем пространстве имён. Это резолвинг — лишнее действие, которого можно избежать.

💡 Решение:
Добавить \ перед вызовами глобальных функций (\explode(), \strlen() и т.д.), тем самым указывая интерпретатору сразу на нужное пространство.

🔬 Бенчмарки:
Проведено сравнение двух версий кода — с бэкслешами и без:

0.576μs → без бэкслешей
0.536μs → с бэкслешами

Разница — 7%, или 40 наносекунд. Мизер? Да. Но в случае 1000+ вызовов — уже ощутимо. В контексте фреймворков, обрабатывающих сотни запросов в секунду, это может суммарно повлиять.

🛠️ Что делать:
• Включить в проекте PHP-CS-Fixer с правилом native_function_invocation
• Или приучиться добавлять \ вручную
• Для любителей хардкора — реанимировать устаревший PHP_CodeSniffer с нестабильным плагином

📌 Вывод:
Это не про магию ускорения. Это микрооптимизация, и в большинстве случаев она не даст серьёзного прироста. Но она точно иллюстрирует, как работает PHP под капотом — и где теряется время.

🔗 Хабр

Библиотека пхпшника
👍51
⚙️ Холивар: MVC — архитектура века или рудимент?

Сколько лет этому паттерну? Наверное, все начинали с MVC, но пришли ли мы к его пределу?
Зачем продолжать использовать его, если появляются новые подходы? Давайте разбираться!

🏢 MVC — классика и фундамент
Model-View-Controller — это основа для большинства фреймворков. Он помогает организовать код и разделить логику, представление и управление.

Плюсы:
Чистая структура: Логика разделена, что делает код более понятным и поддерживаемым.
Масштабируемость: Удобно работать с большими проектами, ведь ты всегда можешь отредактировать контроллер, не затронув модель или представление.
Множество инструментов и фреймворков: Все популярные фреймворки (Laravel, Symfony, Yii) базируются на этом паттерне.

Минусы:
Сложности при масштабировании: Если проект становится слишком большим, MVC может оказаться слишком жестким и ограничивающим.
Часто получается «заводной механизм»: Слишком много кода для простых задач. Например, в некоторых приложениях приходится создавать контроллеры для самых элементарных операций.

🚀 Альтернативы MVC: нужно ли оно в 2025 году?
MVVM (Model-View-ViewModel), CQRS, Hexagonal Architecture и другие подходы набирают популярность, особенно в микросервисах и крупных распределенных системах.
Доменное управление и Event-Driven подходы предполагают меньшую зависимость от чёткой структуры и большее внимание на бизнес-логику и взаимодействие сервисов.

Плюсы альтернатив:
Гибкость: Лучшие решения для микросервисов и приложений с большим числом пользователей.
Менее громоздко: Например, в современных front-end-фреймворках (React, Vue) уже нет четкого разделения MVC, а есть более простые и адаптивные подходы.
Минусы альтернатив:
Кривая обучения: Новые подходы сложнее для новичков и требуют больше времени на освоение.
Потеря очевидности: Пока MVC остаётся самым понятным и привычным, альтернативы могут усложнить структуру кода.

🤔 Когда стоит использовать MVC?
Если проект малый или средний, где тебе не нужно усложнять архитектуру, MVC по-прежнему отличный выбор.
Для больших проектов, где тебе важно разделить задачи и гибко расширять систему, можно
обратить внимание на более современные подходы.

💬 А что думаете вы?
MVC — это всё ещё ваша основная архитектура, или вы уже используете новые подходы и микросервисы?

Библиотека пхпшника #междусобойчик
6
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!

Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!

На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.

📆 Старт потока — 15 сентября.

💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.

👉 Занять место
1🥱1
💻 Подборка новостей по PHP за неделю:​

🔹 Featurevisor PHP SDK — интеграция Featurevisor в PHP-бэкенды без привязки к конкретному фреймворку, включая Laravel, CakePHP, Symfony и др.

🔹 Filament v4 — стабильный релиз с улучшенной скоростью, UX и новыми возможностями; ключевую роль сыграло сообщество, активно тестировавшее бета-версии.

🔹 Laravel Boost — новый AI-стартер-кит для ускорения разработки, презентован Тейлором Отвеллом на Laracon US; возглавляет проект Эшли Хайндл.

🔹 Livewire 4 — Калеб Порцио представил полностью переработанную версию с упрощённым API и улучшенной производительностью.

🔹 Symfony 4–10 августа 2025 — миграция на PHPUnit 12 в ветке 7.4, отказ от аннотаций в пользу атрибутов, обновлён дамп контейнера без зависимости от PHP XML extension.

Библиотека пхпшника

#свежак
2