uz
Feedback
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Kanalga Telegram’da o‘tish

Все самое полезное для пхпшника в одном канале. По рекламе: @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 495 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 269-o'rinni va Rossiya mintaqasida 60 346-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 10 495 obunachiga ega bo‘ldi.

15 Sentabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -49 ga, so‘nggi 24 soatda esa -4 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 21.84% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 9.31% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 292 marta ko‘riladi; birinchi sutkada odatda 977 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 18 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 16 Sentabr, 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.

10 495
Obunachilar
-424 soatlar
-57 kun
-4930 kun
Postlar arxiv
💰 Версионирование бизнес-правил в Laravel Бизнес-правила меняются, но старые решения должны оставаться объяснимыми. Например
💰 Версионирование бизнес-правил в 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 🐸 Библиотека пхпшника

😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потер
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 18 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠

🌞 PayZephyr: единый API для платежей в Laravel Stripe, PayPal, Paystack и другие платёжные системы — через один интерфейс. P
🌞 PayZephyr: единый API для платежей в Laravel Stripe, PayPal, Paystack и другие платёжные системы — через один интерфейс. PayZephyr объединяет работу с 8 провайдерами и предлагает:
— единый API для платежей; — переключение между провайдерами и failover; — защиту от повторного списания; — проверку подписей вебхуков; — возвраты и подписки.
🔘 Пример:
Payment::amount(100)
    ->currency('USD')
    ->pay();
🔘 Возврат:

Payment::refund($paymentId);
🔘 Установка:
composer require payzephyr/laravel
📌 Подойдёт, если приложение работает с несколькими платёжными системами и хочется не писать отдельную интеграцию для каждой. 🔗 ⁠GitHub 🐸 Библиотека пхпшника

🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy вырастут на 20% 👀 Так что если курс давно ждёт своего часа — лучше не откладывать ещё на месяц 😏 📍 Выбрать курс

🔐 Sqids в Laravel: короткие публичные ID Автоинкрементные ID удобны в базе, но не всегда подходят для публичных URL. Sqids превращают их в короткие строки:
637 → 4nxk2a
При этом внутри Laravel остаются обычные integer-ключи, связи Eloquent и индексы. В статье показано, как встроить Sqids в: 🟡 route model binding; 🟡 API Resources; 🟡 foreign keys; 🟡 входящие запросы. 🔗 Документация 🐸 Библиотека пхпшника

🌞 Готовим вебинар про AI в разработке и хотим сделать его максимально полезным
Что реально хочется разобрать? Где чаще всего застреваете? Что пробовали, но так и не получилось нормально внедрить?
🤩 Пишите вопросы в комментариях — самые залайканные разберём на вебинаре в первую очередь. Задавайте всё, что давно хотелось спросить 📍 🐸 Библиотека пхпшника

📍 Laravel Telescope 5.24: отладка прямо из Artisan В новой версии Telescope искать и разбирать записи можно без открытия das
📍 Laravel Telescope 5.24: отладка прямо из Artisan В новой версии Telescope искать и разбирать записи можно без открытия dashboard. ➡️ Появились две команды:

php artisan telescope:list request
php artisan telescope:show latest:request
➡️ list показывает последние записи Telescope. Можно фильтровать их по типу, тегу, batch ID и другим параметрам:

php artisan telescope:list exception --limit=5
php artisan telescope:list request --tag=Auth:42
php artisan telescope:list --batch=79a09461
➡️ show раскрывает конкретную запись и связанные с ней события: queries, cache operations, logs, exceptions и т. д.
php artisan telescope:show latest:exception
Для скриптов и coding agents есть --json:
php artisan telescope:show latest:exception --json
А --full отключает сокращение длинных SQL, сообщений и payload’ов. 💡 Особенно удобно для отладки в терминале: нашёл проблемный request → посмотрел его batch → увидел медленный query или exception, не переключаясь между CLI и браузером. В 5.24 также исправили stale-запросы dashboard: при навигации старый polling-запрос больше не должен перезаписывать уже открытый экран. 🔗 Источник 🐸 Библиотека пхпшника

💥 Именованные аргументы вместо загадочных true/false Такой вызов приходится расшифровывать: createUser('Аня', true, false, t
💥 Именованные аргументы вместо загадочных true/false Такой вызов приходится расшифровывать:

createUser('Аня', true, false, true);
🔴 Что означает каждый bool? С PHP 8.0 можно передать аргументы по имени:

createUser(
    name: 'Аня',
    isAdmin: true,
    sendEmail: false,
    verified: true,
);
Сигнатуру метода менять не нужно — именованные аргументы работают прямо с существующими параметрами. 🔴 А ещё можно пропускать необязательные параметры и передавать только нужные:

createUser(
    name: 'Аня',
    verified: true,
);
Никаких зависимостей — просто вызов, который сам объясняет, что именно происходит. ⁠🔗 PHP Docs — Named Arguments 🐸 Библиотека пхпшника

🧠 spatie/laravel-data: типизированные DTO для Laravel Вместо массивов вроде:

$email = $data['email'];
$quantity = $data['quantity’];
🔘 можно описать структуру данных отдельным классом:

class OrderData extends Data
{
    public function __construct(
        public string $email,
        public int $quantity,
        public ?string $promoCode = null,
    ) {}
}
🔘 И создать объект из входных данных:

$order = OrderData::from($request->all());

echo $order->email;
Дальше работают обычные типы PHP и автодополнение IDE, а laravel-data добавляет маппинг, валидацию, вложенные DTO и преобразование обратно в массив или JSON. Удобный вариант, когда DTO в Laravel становится больше, чем просто набором полей. 🔗 ⁠Документация 🐸 Библиотека пхпшника

🤩 PHP и атрибуты: #[Override] В PHP 8.3 появился атрибут #[Override], который помогает ловить ошибки при переопределении мет
🤩 PHP и атрибуты: #[Override] В PHP 8.3 появился атрибут #[Override], который помогает ловить ошибки при переопределении методов.
Если метода find() нет в родительском классе или интерфейсе, PHP сообщит об ошибке.
Полезно при рефакторинге: переименовал метод в базовом классе — наследники не останутся с «тихо сломанным» override. 🐸 Библиотека пхпшника

🔎 Как быстро увидеть, что вы изменили в php.ini В PHP 8.5 появилась малоизвестная CLI-опция:

php --ini=diff
Она показывает только настройки, которые отличаются от стандартной конфигурации PHP. Полезно, когда нужно: — разобраться, чем production отличается от дефолта; — проверить Docker-образ; — перенести конфигурацию на новый сервер. Особенно удобно вместо ручного сравнения огромного php.ini. 🐸 Библиотека пхпшника

🧬 Вы кешируете запросы в Redis, но забыли про OPcache? PHP компилирует каждый .php-файл в байткод при каждом запросе — если не настроен OPcache. Это означает лишние CPU-циклы на парсинг даже самого тривиального хелпера. 🟡 Минимальный конфиг для прода:
; включаем
opcache.enable=1
opcache.enable_cli=1

; кол-во кешируемых файлов (>= числа файлов в проекте)
opcache.max_accelerated_files=20000

; размер разделяемой памяти (MB)
opcache.memory_consumption=256

; кешируем строки — экономим RAM
opcache.interned_strings_buffer=16

; в продакшне: 0 (не проверять изменения файлов)
opcache.validate_timestamps=0
Почему validate\_timestamps=0 в проде При каждом запросе PHP проверяет mtime файла на диске. На высоких RPS — это сотни лишних stat()-syscall'ов в секунду. Инвалидируйте кеш вручную через opcache_reset() или перезапуск PHP-FPM при деплое. 💡 Хотите проверить, что лежит в кеше и сколько памяти занято? Используйте opcache_get_status() — или поставьте opcache-gui для визуального мониторинга. 🐸 Библиотека пхпшника

🤩 Wave — стартер-пак для разработки SaaS-приложений Библиотека написана на Laravel и включает все необходимое: — аутентифика
🤩 Wave — стартер-пак для разработки SaaS-приложений Библиотека написана на Laravel и включает все необходимое:
— аутентификация, — профили пользователей, — биллинг, — подписка, — роли и права доступа, — уведомления и административная панель.
Инструмент упрощает создание SaaS-приложений, предоставляя необходимые базовые компоненты и гибкие возможности для дальнейшей настройки ✅ 🔗 GitHub Библиотека пхпшника

📦 symfony/uid: UUIDv7 вместо автоинкремента Автоинкремент удобен, но плохо подходит для распределённых систем. UUIDv4 решает проблему уникальности, зато случайные значения могут хуже работать с B-tree индексами. 🔘 UUIDv7 — компромисс: содержит timestamp и случайную часть, поэтому идентификаторы генерируются примерно в хронологическом порядке.

use Symfony\Component\Uid\Uuid;

$id = Uuid::v7();

echo $id->toRfc4122();
// 0192f8a1-...

echo $id->getDateTime();
// время, закодированное в UUID
🔘 А если нужен более компактный идентификатор для URL:
$id->toBase58();
🔘 Symfony UID можно использовать отдельно от Symfony:
composer require symfony/uid
Особенно интересно для распределённых сервисов, где ID нужно генерировать независимо от БД. 📍 Ссылка на документацию Библиотека пхпшника

🤖 PhpStorm научился управлять skills для coding agents Вместо того чтобы каждый раз объяснять AI-агенту правила проекта, фре
🤖 PhpStorm научился управлять skills для coding agents Вместо того чтобы каждый раз объяснять AI-агенту правила проекта, фреймворка и инструменты, skills можно установить и хранить как переиспользуемые инструкции. В PhpStorm 2026.2 появился отдельный Skills Manager: 🤩 устанавливать skills из каталога 🤩 подключать внешние registry, включая GitHub 🤩 импортировать skills из Claude Code и Codex 🤩 управлять ими прямо из IDE 📌 Особенно интересно для команд, где несколько разработчиков используют агентов и хотят, чтобы они работали по одинаковым правилам. Библиотека пхпшника

🤩 5 PHP-приёмов, которые стоит держать в арсенале Без библиотек — всё уже есть в языке:

// Быстро собрать список/словарь
$emails = array_column($users, 'email');
$map = array_column($users, 'email', 'id');

// Присвоить только если значения ещё нет
$config['timeout'] ??= 30;

// Объединить массивы с переопределением
$query = [...$defaults, 'limit' => 50];

// Проверить, является ли массив списком
array_is_list([1, 2, 3]); // true

// Передать метод напрямую как callable
$ids = array_map(User::getId(...), $users);
Библиотека пхпшника

🤩 webmozart/assert: guard-условия без простыней if/throw Вместо:

if (!is_string($name) || $name === '') {
    throw new InvalidArgumentException(
        'Name must be a non-empty string'
    );
}
можно написать:

use Webmozart\Assert\Assert;

Assert::stringNotEmpty($name);
Assert::email($email);
Assert::range($age, 18, 99);
Assert::allInstanceOf(User::class, $users);
🤩 Библиотека берёт на себя проверку условия и выбрасывает исключение с понятным сообщением, если оно нарушено. Особенно удобно использовать такие проверки на границах приложения — например, в конструкторах Value Object или сервисов. Установка:
composer require webmozart/assert
📌 В итоге вместо десятков однотипных if/throw получаем компактные и единообразные guard-условия. 🔗 Документация Библиотека пхпшника