es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

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

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

Ir al canal en Telegram

Все самое полезное для пхпшника в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b

Mostrar más

📈 Análisis del canal de Telegram Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

El canal Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 461 suscriptores, ocupando la posición 11 653 en la categoría Tecnologías y Aplicaciones y el puesto 60 713 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 461 suscriptores.

Según los últimos datos del 25 octubre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -29, y en las últimas 24 horas de -3, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 15.48%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 7.28% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 620 visualizaciones. En el primer día suele acumular 762 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 2.
  • Intereses temáticos: El contenido se centra en temas clave como php, laravel, пхпшника, artisan, api.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Все самое полезное для пхпшника в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b”

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 26 octubre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

10 461
Suscriptores
-324 horas
-177 días
-2930 días
Archivo de publicaciones
📍 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-условия. 🔗 Документация Библиотека пхпшника

🤩 PhpStorm + Laravel: меньше прыжков между окнами В PhpStorm появился отдельный Laravel Tool Window, который собирает несколько вещей, ради которых раньше приходилось открывать терминал, логи и браузер. 🤩 запуск Artisan-команд прямо из IDE 🤩 просмотр локальных и Sentry-логов 🤩 разбор ошибок с AI 🤩 управление Laravel Cloud deployments и env-переменными 🤩 Особенно интересен сценарий с ошибкой: открыл лог → нашёл exception → разобрал его через AI, не копируя stack trace вручную. Библиотека пхпшника

🐘 PHP 8.6 Beta 2 — завтра. Что делать с бетой? 13 августа вышла Beta 1, а 27 августа запланирована Beta 2. Дальше по календа
🐘 PHP 8.6 Beta 2 — завтра. Что делать с бетой? 13 августа вышла Beta 1, а 27 августа запланирована Beta 2. Дальше по календарю: Beta 3 — 10 сентября, RC1 — 24 сентября и GA — 19 ноября. Новые RFC для 8.6 уже не проходят — сейчас фокус смещается на совместимость, регрессии и баги. ➡️ Если поддерживаете библиотеку, фреймворк, CMS или расширение, самое время прогнать тесты на PHP 8.6. Обычному приложению необязательно переходить на бету в проде. А вот отдельный CI-job с beta-версией может заранее показать, где релиз что-то сломал. 🤩 Источник Библиотека пхпшника

🤩 Ленивая инициализация без proxy-хаков В PHP 8.4 ленивые объекты появились прямо в движке. Это особенно полезно для ORM, DI-контейнеров и объектов, создание которых может быть дорогим. Создать lazy ghost можно через Reflection:

$reflector = new ReflectionClass(Order::class);

$order = $reflector->newLazyGhost(
    function (Order $order): void {
        $order->__construct(loadFromDb());
    }
);
На этом этапе конструктор ещё не выполнялся. Когда объекту понадобится состояние, PHP вызовет initializer и объект инициализируется.
Есть и второй вариант — newLazyProxy(): он при инициализации создаёт реальный объект и проксирует дальнейшие обращения к нему.
📌 Тяжёлая работа выполняется только когда объект действительно понадобится. Это может быть полезно для ленивой загрузки данных или зависимостей. И важный момент: lazy objects не означают автоматическое ускорение всего приложения. Если объект в итоге всегда используется, выигрыш от откладывания инициализации может быть минимальным. Библиотека пхпшника

🤩 Вы кешируете запросы в 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 для визуального мониторинга. Библиотека пхпшника

❓ С чего начать изучение PHP и куда двигаться дальше? Собрали путь от базового синтаксиса до уровня, где в дело уже входят Laravel/Symfony, тестирование, PHPStan, профилирование, кеширование и PHP-FPM. Сохраняйте roadmap, чтобы не потеряться в огромном экосистемном дереве PHP 🔖 🐸 Библиотека пхпшника

🤔 PHP tip: когда ?? лучше, чем isset() Если нужно взять значение и подставить запасное, необязательно сначала проверять isset():

$name = isset($request['name'])
    ? $request['name']
    : 'Guest’;
🔵 В PHP есть оператор null coalescing:

$name = $request['name'] ?? 'Guest’;
Он вернёт 'Guest', если значение отсутствует или равно null. 🔵 При этом false, 0 и '' считаются значениями и не заменяются:
$value = 0 ?? 100; // 0
📌 Простое правило: ?? → «возьми значение, а если его нет — используй это». isset() → «проверь, существует ли значение и не null ли оно». 🐸 Библиотека пхпшника