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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
How to: снизить число ошибок на проекте и получить стабильный код благодаря статическому анализу PHPStan

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


🔗 Хабр

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

#буст
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
📅 Сегодня в 19:00 МСК — бесплатный вебинар с Марией Жаровой.

Тема: «Введение в ML: как спрогнозировать стоимость недвижимости».

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

Не зайдёшь — будешь ещё год делать вид, что понимаешь графики в чужих презентациях.

👉 Регистрируйтесь
Возвращение Redis к open-source

С 2025 года Redis вернулся к open-source, выпустив Redis 8 под лицензией AGPLv3. После введения SSPL в 2024 году и резкой критики со стороны сообщества, Redis вернулся к истокам, но стоит ли этому радоваться?

Сторонники новой лицензии считают, что это правильный шаг, который восстановит доверие сообщества и вернёт Redis в ряды самых популярных инструментов для работы с БД в реальном времени. Однако критики утверждают, что этот ход больше связан с маркетингом и попыткой вернуть пользователей, чем с настоящими улучшениями.

⚡️ На практике:

— AGPLv3 обещает более открытое использование Redis в корпоративных и стартап-проектах.
— Но SSPL оставляет много вопросов о том, как Redis будет восприниматься в экосистеме open-source в будущем.

💬 Что думаете: реальная победа сообщества или просто попытка вернуть утраченные позиции на фоне конкурентов?

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠PhpStorm‑лайфхак: максимально чистая среда для кода

Двойной Tap Shift·Shift открывает окошко Search Everywhere — через него можно запускать любые действия, искать файлы, классы, команды и даже настройки.

Введите Distraction → выберите Enter Distraction‑Free Mode, и IDE превратится в почти чистый редактор: никакого бокового меню, вкладок или панелей — только вы и ваш код.

Как результат: сосредоточенность по максимуму, меньше отвлечений и больше удовольствия от работы. Попробуйте!

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👍4😁1
📊 Ленивые вычисления в PHP: эффективная работа с большими данными

Когда вам нужно обработать гигантские файлы, например, CSV размером 2 ГБ, загрузка данных в память может вызвать ошибку из-за исчерпания лимита памяти. Как этого избежать? Ответ — ленивые вычисления.

Ленивые вычисления позволяют обрабатывать данные по мере их необходимости, а не загружать всё в память сразу. В PHP для этого можно использовать генераторы и Iterator API.

Что такое ленивые вычисления?
Вместо того, чтобы хранить все данные в памяти, генераторы и Iterator API загружают данные по одному элементу за раз. Это позволяет работать с большими объёмами данных без излишней нагрузки на память.

Когда использовать?

Генераторы идеальны для простого стриминга данных, когда нужно поочередно обрабатывать элементы (например, строки в CSV файле).

Iterator API подходит для более сложных сценариев, когда необходимо сохранить состояние или использовать кастомные ключи.

Преимущества:

🔸 Меньше памяти: Генераторы могут обрабатывать миллионы строк, используя всего несколько килобайт памяти.

🔸 Производительность: Время выполнения остаётся практически неизменным, но память используется гораздо эффективнее.

Применение в реальной жизни
Например, при работе с автомобильными данными через API, использование генераторов позволило сократить потребление памяти с 2 ГБ до всего 10 МБ.

👉 Полная статья с примерами и бенчмарками

Библиотека пхпшника
👍8🥱31
Какой из следующих терминов относится к обработке большого объема данных с использованием нескольких серверов?
Anonymous Quiz
37%
Сегментация
61%
Параллельные вычисления
2%
Хеширование
1%
Инкапсуляция
🌚3
💻 Подборка новостей по PHP за неделю:​

🔹 Xdebug Update — июльский отчёт: 14 часов разработки при 23 профинансированных, часть времени ушла на отпуск. Подписчики GitHub/Pro получают апдейты раньше.

🔹 Inertia Form Component — новый <Form/>, работающий как классическая HTML-форма, но с использованием Inertia для предотвращения полной перезагрузки страниц.

🔹 PHP 8.5.0 Beta 1 — первая бета новой версии. Релизный цикл продолжается, тестирование открыто для сообщества.

🔹 Symfony 11–17 августа 2025 — основное внимание уделено депрекации sleep/wakeup в PHP 8.5, вместо них теперь serialize/unserialize. Анонсированы детали unconference-трека SymfonyCon Amsterdam 2025 и Symfony AI Hackathon (12 сентября 2025).

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

#свежак
Какой метод в Symfony используется для получения параметров конфигурации в сервисах?
Anonymous Quiz
32%
getParameter()
10%
get()
47%
getConfig()
11%
parameters()
This media is not supported in your browser
VIEW IN TELEGRAM
🏃‍♀️ Новый поток курса — собери своих AI-агентов

7 октября стартует второй поток курса «AI-агенты для DS-специалистов».
За 5 недель вы научитесь собирать агентов, которые уже сейчас будут помогать бизнесу.

В кружке выше Максим Шаланкин, наш преподаватель, рассказывает подробнее — включай, чтобы не пропустить.

👉 Записаться на курс
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Топ-вакансий по PHP за неделю

Senior/Lead PHP Developer — от 2500 до 4000 $, Удалёнка (Москва)

Fullstack Разработчик (PHP) — от 250 000 до 500 000 ₽, Удалёнка (Москва)

Backend Developer — до 3 500$, Удалёнка (Москва)

Backend Developer PHP+MySQL — от 295 000 до 380 000 ₽, Удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
🔥 How To: 6 частых ошибок безопасности в Laravel и как их исправить

Laravel — мощный и популярный фреймворк. Но вместе с популярностью он становится и мишенью для атак. Даже опытные разработчики иногда допускают ошибки, которые открывают лазейки для злоумышленников.

1️⃣ Завершаем все сессии после смены пароля

Ошибка: при смене пароля старые сессии на других устройствах остаются активными.
Исправление: используйте logoutOtherDevices().

👉 Почему важно: если токен украден, злоумышленник вылетит сразу после смены пароля.

2️⃣ Безопасная загрузка файлов

Ошибка: прямая ссылка на файлы (/storage/invoices/invoice1.pdf) позволяет угадывать URL.
Исправление: генерируйте временные подписанные ссылки (URL::temporarySignedRoute).

👉 Почему важно: даже при утечке ссылка перестанет работать после срока действия.

3️⃣ Правильное связывание моделей в маршрутах

Ошибка: без scoping пользователь может подставить чужой ID.
Исправление: используйте ->scopeBindings().

👉 Почему важно: предотвращает горизонтальную эскалацию прав.

4️⃣ Уникальные имена файлов

Ошибка: сохранение файлов под оригинальными именами ведёт к перезаписи.
Исправление: используйте UUID (Str::uuid()).

👉 Почему важно: два profile.jpg больше не сотрут друг друга.

5️⃣ Шифруем ID в URL

Ошибка: последовательные ID легко перебирать.
Исправление: шифруйте идентификаторы (Crypt::encryptString).

👉 Почему важно: атаки через инкремент ID становятся невозможны.

6️⃣ Шифрование чувствительных данных в БД

Ошибка: хранение API-ключей и персональных данных в открытом виде.

Исправление: используйте встроенные касты ('api_key' => 'encrypted').

👉 Почему важно: даже при утечке базы данные останутся зашифрованы.

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

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