Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Все самое полезное для пхпшника в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Показати більше📈 Аналітичний огляд Telegram-каналу Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Канал Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 10 485 підписників, посідаючи 11 230 місце в категорії Технології та додатки та 60 102 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 10 485 підписників.
За останніми даними від 05 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -16, а за останні 24 години на 1, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 18.42%. Протягом перших 24 годин після публікації контент зазвичай збирає 9.50% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 1 931 переглядів. Протягом першої доби публікація в середньому набирає 996 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 13.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як php, laravel, пхпшника, artisan, api.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Все самое полезное для пхпшника в одном канале.
По рекламе: @tproger_sales_bot
Учиться у нас: clc.to/M561SQ
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b”
Завдяки високій частоті оновлень (останні дані отримано 06 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
Триває завантаження даних...
| Дата | Залучення підписників | Згадування | Канали | |
| 06 жовтня | 0 | |||
| 05 жовтня | +1 | |||
| 04 жовтня | +1 | |||
| 03 жовтня | +1 | |||
| 02 жовтня | +1 | |||
| 01 жовтня | +2 |
| 2 | 🔥 Последний день для разработчиков
AI уже пишет код. Теперь важнее научиться встраивать его в разработку так, чтобы он действительно экономил время.
На курсе «ИИ для разработчиков» собираете AI-workflow на своём проекте: от задачи и планирования до тестов, ревью и PR 🤩
Разберёте AI-агентов, MCP, контекст проекта, безопасность и контроль расходов на модели.
📍 Только сегодня, 30 сентября — скидка 10 000 ₽
Промокод: LastcallAI
🤩 Присоединиться к курсу | 1 228 |
| 3 | 🐸 Библиотека пхпшника | 1 284 |
| 4 | 💡 Laravel-фича, которая спасает тесты от случайных запросов
Http::preventStrayRequests() запрещает тестам обращаться к реальным API.
Например:
Http::preventStrayRequests();
Http::fake([
'example.com/*' => Http::response('ok'),
]);
Http::get('https://example.com/users'); // ✅ ok
Http::get('https://proglib.io'); // ❌ исключение
Так тесты не зависят от доступности внешних сервисов и не отправляют неожиданные запросы в CI.
➡️ Особенно полезно, когда локально всё проходит, а в CI внезапно находится запрос, который забыли замокать.
🐸 Библиотека пхпшника | 1 522 |
| 5 | 🔐 ramsey/uuid — UUID без самописного кода
Библиотека помогает генерировать, парсить и валидировать UUID, а также работать с ними как с объектами.
use Ramsey\Uuid\Uuid;
$id = Uuid::uuid4();
echo $id->toString();
Подходит, когда UUID активно используются в проекте и хочется вынести всю работу с ними в готовый инструмент.
🔗 GitHub
🐸 Библиотека пхпшника | 1 539 |
| 6 | 🤔 Что выведет код?
❤️ — 1
🔥 — 2
👍 — 12
👾 — Fatal error
👇 Правильный ответ (нажми, чтобы прочитать):
🔥 2 — finally выполняется даже после return из try.
Причём return внутри finally перезаписывает результат, который должен был вернуть try.
⚠️ Ловушка на собесе: если убрать return 2 из finally, функция вернёт 1.
👍 — знал/а
🔥 — стало понятнее
🐸 Библиотека пхпшника | 1 528 |
| 7 | 🌞 PHP умеет искать в массиве без foreach
В PHP 8.4 появились array_find(), array_find_key(), array_any() и array_all().
Вместо:
foreach ($users as $user) {
if ($user->isAdmin()) {
$admin = $user;
break;
}
}
можно написать:
$admin = array_find($users, fn($user) => $user->isAdmin());
Мелочь, но код сразу читается как то, что именно мы хотим найти, а не как инструкция для обхода массива.
🐸 Библиотека пхпшника | 1 983 |
| 8 | 👍 5 способов встроить AI в Laravel
Laravel AI SDK позволяет добавлять AI-функции прямо в приложение — без отдельного Python-сервиса и ручной работы с API.
В гайде разобраны практические сценарии:
— автоматический разбор и приоритизация тикетов;
— AI-ассистент с доступом к данным через tools;
— семантический поиск и RAG;
— действия с обязательным подтверждением человека;
— транскрибация голосовых сообщений.
Отдельно показано, как работать со structured output, очередями, фейками для тестов и fallback между провайдерами.
🔗 Доступно по ссылке
🐸 Библиотека пхпшника | 2 137 |
| 9 | 🛠 Symfony 8.2 научился автоматически генерировать JSON Schema для конфигурации приложения
При сборке контейнера в debug-режиме появляется:
config/schema.json
➡️ Схема объединяет настройки всех установленных bundle и позволяет IDE:
— подсказывать доступные параметры;
— показывать описания и значения по умолчанию;
— подсвечивать неизвестные и deprecated-опции;
— проверять типы значений.
➡️ А lint:yaml теперь может использовать эту же схему для проверки конфигурации в CI:
php bin/console lint:yaml config/packages/ --check-schema=config/schema.json
Получается довольно практичное улучшение: ошибки в YAML-конфигурации можно поймать ещё до запуска приложения.
🔗 Источник
🐸 Библиотека пхпшника | 2 045 |
| 10 | 🚀 Свежий релиз Laravel 13 с набором улучшений и исправлений
✅ добавлена поддержка valkey:// и valkeys://;
✅ улучшена работа tagged cache и memoized cache;
✅ появились createQuietly() и createManyQuietly() для BelongsToMany;
✅ worker теперь можно настроить так, чтобы не завершать его при timeout job;
✅ добавлены server options для PostgreSQL;
✅ улучшены retries для Cloud jobs;
✅ inplace() для DDL-операций с индексами и foreign keys;
✅ улучшена работа Eloquent Collection::duplicates();
✅ обновлена поддержка brick/math 0.20 & 1.0.
Плюс десятки фиксов для очередей, Redis, SQLite, Cloud, Artisan, routing и Eloquent.
🐸 Библиотека пхпшника | 1 984 |
| 11 | ⚡️ PHP 8.6 выйдет 19 ноября 2026 года. Сейчас версия находится в beta.
Самые заметные изменения:
🔴 Partial Function Application
Можно зафиксировать часть аргументов функции:
$makeSlug = str_replace(' ', '-', ?);
$makeSlug('Hello World');
// Hello-World
🔴 clamp()
Наконец отдельная функция для ограничения значения:
clamp(101, min: 0, max: 100);
// 100
🔴 Time\Duration
Тип для представления длительности с наносекундной точностью:
$delay = Duration::fromMilliseconds(100)
->multiplyBy(2 ** $attempt);
🔴 Readonly-свойства с default value
public string $name = 'migration’;
И ещё: для новых установок PHP меняет defaults native sessions — strict_mode и HttpOnly включаются, а SameSite становится Lax.
📌 Feature freeze — 22 сентября, первый RC — 24 сентября.
🔗 Подробнее
🐸 Библиотека пхпшника | 2 080 |
| 12 | ❓ Какие существуют проблемы в многопоточной среде?
Основные проблемы многопоточности:
1️⃣ Race Condition — когда результат работы зависит от порядка выполнения потоков. Например, два потока одновременно изменяют одну переменную без синхронизации.
2️⃣ Deadlock — взаимная блокировка, когда потоки ждут друг друга. Классика: поток А держит ресурс 1 и ждёт ресурс 2, а поток Б держит ресурс 2 и ждёт ресурс 1.
2️⃣ Livelock — потоки активны, но не могут продолжить работу, постоянно реагируя на действия друг друга. Например, как два человека в коридоре, которые одновременно пытаются уступить дорогу.
4️⃣ Starvation — поток никогда не получает доступ к ресурсу из-за того, что другие потоки постоянно его перехватывают.
5️⃣ Memory Visibility — изменения, сделанные одним потоком, могут быть не видны другим из-за кэширования в CPU
🐸 Библиотека пхпшника | 1 857 |
| 13 | 🌞 В Symfony 8.2 появилось 29 новых Bundle — теперь компоненты вроде Mailer, Messenger и Cache сами поставляют конфигурацию и сервисы.
Было:
framework:
mailer:
dsn: '%env(MAILER_DSN)%’
Стало:
mailer:
dsn: '%env(MAILER_DSN)%’
Старый framework.* при этом продолжает работать — существующие проекты менять не нужно.
➡️ Ещё одно изменение: Forms больше не включает Validation автоматически. Для него теперь нужен symfony/validator.
🔗 Источник
🐸 Библиотека пхпшника | 1 936 |
| 14 | А вы уже забрали свой подарок ко Дню программиста?
К вашему профессиональному празднику Tproger, Proglib, Столото, Центральный университет и SmartApe собрали целую коробку подарков. Переходите по ссылке, трясите коробку и забирайте свой презент: https://tprg.ru/ZX3b
Реклама. ИП Михайлишина Гузель Фаниловна, erid: 2W5zFJrVGHw | 1 731 |
| 15 | 🐸 Библиотека пхпшника | 2 100 |
| 16 | 🛠 `str_contains` и семья: проверяем строки без ловушек
Проверка через strpos годами путала новичков:
if (strpos($url, 'https') !== false) {
// ...
}
➡️ Почему нужен именно `!== false`?
Потому что совпадение в начале строки возвращает позицию 0, а 0 в PHP может трактоваться как false.
С PHP 8.0 есть три функции, которые сразу возвращают `bool`:
str_contains($email, '@'); // содержит подстроку
str_starts_with($url, 'https://'); // начинается с
str_ends_with($file, '.pdf'); // заканчивается на
Код читается проще — без проверки позиции и !== false.
📌 strpos всё ещё нужен, если требуется узнать позицию совпадения.
🐸 Библиотека пхпшника | 2 147 |
| 17 | ⚡️ Symfony 8.2: команды Console теперь можно вызывать через пробелы
В Symfony команды обычно записываются через ::
php bin/console tenant:users:import customers.csv
➡️ В Symfony 8.2 появился альтернативный синтаксис:
php bin/console tenant users import customers.csv
Оба варианта запускают одну и ту же команду.
Главное отличие — в spaced-синтаксисе каждый уровень может обрабатывать собственные опции:
php bin/console tenant --name=acme users import customers.csv --dry-run
Здесь:
🔘 tenant получает опцию --name;
🔘 users — промежуточный уровень;
🔘 import запускает конечную команду;
🔘 --dry-run передаётся последней команде.
Для доступа к параметрам родительских команд появился CommandChain:
public function __invoke(
CommandChain $chain,
#[Argument] string $file,
): int {
$tenantName = $chain
->getInput('tenant')
?->getOption('name');
// ...
}
Также Symfony 8.2 позволяет описывать целые группы команд в одном классе через #[AsCommand].
📌 Особенно полезно для CLI-приложений с многоуровневой структурой — например, docker compose, git или административных инструментов.
🔗 Читать подробнее
🐸 Библиотека пхпшника | 1 837 |
| 18 | 💰 Версионирование бизнес-правил в Laravel
Бизнес-правила меняются, но старые решения должны оставаться объяснимыми. Например, цена для одного и того же автомобиля может отличаться в зависимости от даты счёта.
Пакет Laravel Rulebook помогает:
🤩 хранить правила в отдельных PHP-классах;
🤩 задавать периоды действия;
🤩 выбирать правило по приоритету;
🤩 объяснять, почему оно победило;
🤩 сохранять результат решения в snapshot.
Пример:
$decision = $rulebook->resolveAt(
subject: $vehicle,
at: $invoice->issued_at,
context: $pricingContext,
);
$price = $decision->outcome();
$reason = $decision->winningResult()->reason();
Подходит для pricing, billing, eligibility и других сценариев, где важна история решений.
🔗 Laravel Rulebook на Packagist
🐸 Библиотека пхпшника | 1 889 |
| 19 | 😭 Как не потратить недельный лимит AI-кодинга за три дня?
Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.
🔘 Поговорим о том:
— когда дорогая модель действительно нужна, а когда хватит дешёвой;
— сколько стоит один прогон и куда уходят токены;
— какие задачи можно отдавать субагентам;
— как настроить маршрутизацию моделей;
— что проверять в AI-коде перед merge.
✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после.
⬇️ 18 сентября, 19:00 МСК
⬇️ 1,5 часа · бесплатно
⬇️ Арсений Харланов и Олег Лайок
💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре.
🔗 Зарегистрироваться на вебинар | 1 757 |
| 20 | 🌞 PayZephyr: единый API для платежей в Laravel
Stripe, PayPal, Paystack и другие платёжные системы — через один интерфейс. PayZephyr объединяет работу с 8 провайдерами и предлагает:
— единый API для платежей;
— переключение между провайдерами и failover;
— защиту от повторного списания;
— проверку подписей вебхуков;
— возвраты и подписки.
🔘 Пример:
Payment::amount(100)
->currency('USD')
->pay();
🔘 Возврат:
Payment::refund($paymentId);
🔘 Установка:
composer require payzephyr/laravel
📌 Подойдёт, если приложение работает с несколькими платёжными системами и хочется не писать отдельную интеграцию для каждой.
🔗 GitHub
🐸 Библиотека пхпшника | 1 733 |
