Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Все самое полезное для пхпшника в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Ko'proq ko'rsatish📈 Telegram kanali Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter analitikasi
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 485 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 230-o'rinni va Rossiya mintaqasida 60 102-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 485 obunachiga ega bo‘ldi.
05 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -16 ga, so‘nggi 24 soatda esa 1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 18.42% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 9.50% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 931 marta ko‘riladi; birinchi sutkada odatda 996 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 13 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent php, laravel, пхпшника, artisan, api kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Все самое полезное для пхпшника в одном канале.
По рекламе: @tproger_sales_bot
Учиться у нас: clc.to/M561SQ
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 06 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
На курсе «ИИ для разработчиков» собираете AI-workflow на своём проекте: от задачи и планирования до тестов, ревью и PR 🤩Разберёте AI-агентов, MCP, контекст проекта, безопасность и контроль расходов на модели. 📍 Только сегодня, 30 сентября — скидка 10 000 ₽
Промокод: LastcallAI
🤩 Присоединиться к курсу
Http::preventStrayRequests();
Http::fake([
'example.com/*' => Http::response('ok'),
]);
Http::get('https://example.com/users'); // ✅ ok
Http::get('https://proglib.io'); // ❌ исключение
Так тесты не зависят от доступности внешних сервисов и не отправляют неожиданные запросы в CI.
➡️ Особенно полезно, когда локально всё проходит, а в CI внезапно находится запрос, который забыли замокать.
🐸 Библиотека пхпшникаuse Ramsey\Uuid\Uuid; $id = Uuid::uuid4(); echo $id->toString();Подходит, когда UUID активно используются в проекте и хочется вынести всю работу с ними в готовый инструмент. 🔗 GitHub 🐸 Библиотека пхпшника
foreach ($users as $user) {
if ($user->isAdmin()) {
$admin = $user;
break;
}
}
можно написать:
$admin = array_find($users, fn($user) => $user->isAdmin());
Мелочь, но код сразу читается как то, что именно мы хотим найти, а не как инструкция для обхода массива.
🐸 Библиотека пхпшника— автоматический разбор и приоритизация тикетов; — AI-ассистент с доступом к данным через tools; — семантический поиск и RAG; — действия с обязательным подтверждением человека; — транскрибация голосовых сообщений.Отдельно показано, как работать со structured output, очередями, фейками для тестов и fallback между провайдерами. 🔗 Доступно по ссылке 🐸 Библиотека пхпшника
config/schema.json➡️ Схема объединяет настройки всех установленных bundle и позволяет IDE:
— подсказывать доступные параметры; — показывать описания и значения по умолчанию; — подсвечивать неизвестные и deprecated-опции; — проверять типы значений.➡️ А lint:yaml теперь может использовать эту же схему для проверки конфигурации в CI:
php bin/console lint:yaml config/packages/ --check-schema=config/schema.json
Получается довольно практичное улучшение: ошибки в YAML-конфигурации можно поймать ещё до запуска приложения.
🔗 Источник
🐸 Библиотека пхпшника
$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 сентября.
🔗 Подробнее
🐸 Библиотека пхпшникаframework:
mailer:
dsn: '%env(MAILER_DSN)%’
Стало:
mailer:
dsn: '%env(MAILER_DSN)%’
Старый framework.* при этом продолжает работать — существующие проекты менять не нужно.
➡️ Ещё одно изменение: Forms больше не включает Validation автоматически. Для него теперь нужен symfony/validator.
🔗 Источник
🐸 Библиотека пхпшника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 всё ещё нужен, если требуется узнать позицию совпадения.
🐸 Библиотека пхпшника
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 или административных инструментов.
🔗 Читать подробнее
🐸 Библиотека пхпшника🤩 хранить правила в отдельных 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
🐸 Библиотека пхпшника— единый API для платежей; — переключение между провайдерами и failover; — защиту от повторного списания; — проверку подписей вебхуков; — возвраты и подписки.🔘 Пример:
Payment::amount(100)
->currency('USD')
->pay();
🔘 Возврат:
Payment::refund($paymentId);
🔘 Установка:
composer require payzephyr/laravel📌 Подойдёт, если приложение работает с несколькими платёжными системами и хочется не писать отдельную интеграцию для каждой. 🔗 GitHub 🐸 Библиотека пхпшника
