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 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.

10 485
Obunachilar
+124 soatlar
-67 kun
-1630 kun
Postlar arxiv
🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы, а сами работают с данными, инструм
🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы, а сами работают с данными, инструментами и выполняют цепочки действий. На курсе «Разработка ИИ-агентов» разбираем всё, что нужно для этого уровня: ⬇️ RAG и работа с данными ⬇️ MCP и инструменты ⬇️ структурированный вывод ⬇️ контроль качества и стоимости ⬇️ мультиагентные системы ⬇️ AgentOps Курс полностью в записи — проходите материалы в своём темпе, без привязки к расписанию. ⏰ 4 октября цена вырастет на 10 000 ₽. Если давно хотели разобраться в AI-агентах — сейчас ещё можно зайти по текущей цене. 🔗 ⁠Посмотреть курс

🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать его в разработку так, чтобы он дейст
🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать его в разработку так, чтобы он действительно экономил время.
На курсе «ИИ для разработчиков» собираете AI-workflow на своём проекте: от задачи и планирования до тестов, ревью и PR 🤩
Разберёте AI-агентов, MCP, контекст проекта, безопасность и контроль расходов на модели. 📍 Только сегодня, 30 сентября — скидка 10 000 ₽ Промокод: LastcallAI 🤩 ⁠Присоединиться к курсу

💡 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 внезапно находится запрос, который забыли замокать. 🐸 Библиотека пхпшника

🔐 ramsey/uuid — UUID без самописного кода Библиотека помогает генерировать, парсить и валидировать UUID, а также работать с
🔐 ramsey/uuid — UUID без самописного кода Библиотека помогает генерировать, парсить и валидировать UUID, а также работать с ними как с объектами.
use Ramsey\Uuid\Uuid;

$id = Uuid::uuid4();

echo $id->toString();
Подходит, когда UUID активно используются в проекте и хочется вынести всю работу с ними в готовый инструмент. 🔗 GitHub 🐸 Библиотека пхпшника

🤔 Что выведет код? ❤️ — 1 🔥 — 2 👍 — 12 👾 — Fatal error 👇 Правильный ответ (нажми, чтобы прочитать): 🔥 2 — finally выпол
🤔 Что выведет код? ❤️ — 1 🔥 — 2 👍 — 12 👾 — Fatal error 👇 Правильный ответ (нажми, чтобы прочитать): 🔥 2 — finally выполняется даже после return из try. Причём return внутри finally перезаписывает результат, который должен был вернуть try. ⚠️ Ловушка на собесе: если убрать return 2 из finally, функция вернёт 1. 👍 — знал/а 🔥 — стало понятнее 🐸 Библиотека пхпшника

🌞 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());
Мелочь, но код сразу читается как то, что именно мы хотим найти, а не как инструкция для обхода массива. 🐸 Библиотека пхпшника

👍 5 способов встроить AI в Laravel Laravel AI SDK позволяет добавлять AI-функции прямо в приложение — без отдельного Python-
👍 5 способов встроить AI в Laravel Laravel AI SDK позволяет добавлять AI-функции прямо в приложение — без отдельного Python-сервиса и ручной работы с API. В гайде разобраны практические сценарии:
— автоматический разбор и приоритизация тикетов; — AI-ассистент с доступом к данным через tools; — семантический поиск и RAG; — действия с обязательным подтверждением человека; — транскрибация голосовых сообщений.
Отдельно показано, как работать со structured output, очередями, фейками для тестов и fallback между провайдерами. 🔗 Доступно по ссылке 🐸 Библиотека пхпшника

🛠 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-конфигурации можно поймать ещё до запуска приложения. 🔗 Источник 🐸 Библиотека пхпшника

🚀 Свежий релиз 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. 🐸 Библиотека пхпшника

⚡️ PHP 8.6 выйдет 19 ноября 2026 года. Сейчас версия находится в beta. Самые заметные изменения: 🔴 Partial Function Applicat
⚡️ 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 сентября. 🔗 Подробнее 🐸 Библиотека пхпшника

❓ Какие существуют проблемы в многопоточной среде? Основные проблемы многопоточности: 1️⃣ Race Condition — когда результат работы зависит от порядка выполнения потоков. Например, два потока одновременно изменяют одну переменную без синхронизации. 2️⃣ Deadlock — взаимная блокировка, когда потоки ждут друг друга. Классика: поток А держит ресурс 1 и ждёт ресурс 2, а поток Б держит ресурс 2 и ждёт ресурс 1. 2️⃣ Livelock — потоки активны, но не могут продолжить работу, постоянно реагируя на действия друг друга. Например, как два человека в коридоре, которые одновременно пытаются уступить дорогу. 4️⃣ Starvation — поток никогда не получает доступ к ресурсу из-за того, что другие потоки постоянно его перехватывают. 5️⃣ Memory Visibility — изменения, сделанные одним потоком, могут быть не видны другим из-за кэширования в CPU 🐸 Библиотека пхпшника

🌞 В Symfony 8.2 появилось 29 новых Bundle — теперь компоненты вроде Mailer, Messenger и Cache сами поставляют конфигурацию и сервисы. Было:
framework:
    mailer:
        dsn: '%env(MAILER_DSN)%’
Стало:
mailer:
    dsn: '%env(MAILER_DSN)%’
Старый framework.* при этом продолжает работать — существующие проекты менять не нужно. ➡️ Ещё одно изменение: Forms больше не включает Validation автоматически. Для него теперь нужен symfony/validator. 🔗 Источник 🐸 Библиотека пхпшника

А вы уже забрали свой подарок ко Дню программиста? К вашему профессиональному празднику Tproger, Proglib, Столото, Центральны
А вы уже забрали свой подарок ко Дню программиста? К вашему профессиональному празднику Tproger, Proglib, Столото, Центральный университет и SmartApe собрали целую коробку подарков. Переходите по ссылке, трясите коробку и забирайте свой презент: https://tprg.ru/ZX3b Реклама. ИП Михайлишина Гузель Фаниловна, erid: 2W5zFJrVGHw

🛠 `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 всё ещё нужен, если требуется узнать позицию совпадения. 🐸 Библиотека пхпшника

⚡️ Symfony 8.2: команды Console теперь можно вызывать через пробелы В Symfony команды обычно записываются через :: php bin/co
⚡️ 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 или административных инструментов. 🔗 ⁠Читать подробнее 🐸 Библиотека пхпшника

💰 Версионирование бизнес-правил в 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 🐸 Библиотека пхпшника