PHP-BE1
Open in Telegram
Канал по PHP, полезный и интересный контент для всех уровней. По вопросам сотрудничества @cyberJohnny
Show more292
Subscribers
No data24 hours
-17 days
-330 days
Posts Archive
292
Laravel Rate Limiting — Explained with Real-Life Examples
https://backpackforlaravel.com/articles/tutorials/laravel-rate-limiting-explained-with-real-life-examples
@php_be1
https://backpackforlaravel.com/articles/tutorials/laravel-rate-limiting-explained-with-real-life-examples?utm_campaign=laravelnews&utm_medium=link&utm_source=laravelnews
292
Плагин Laravel Idea стал бесплатным
@php_be1
https://blog.jetbrains.com/phpstorm/2025/07/laravel-idea-is-now-free/
292
MoonVibe: генератор админ-панелей на основе ИИ за 5 минут
@php_be1
https://habr.com/ru/articles/929268/
292
Простая конкурентность на чистом PHP
@php_be1
https://stancl.substack.com/p/simple-concurrency-in-vanilla-php
292
4 дня назад вышел новый стандарт стиля кода - PER-CS v3.0 (https://www.php-fig.org/per/coding-style/)
Документ миграции с версии PER-CS 2.0 можно найти здесь (https://github.com/php-fig/per-coding-style/blob/master/migration-3.0.md).
https://github.com/php-fig/per-coding-style/releases/tag/3.0.0
@php_be1
292
Всё, что появится в PHP 8.5
@php_be1
https://www.amitmerchant.com/everything-that-is-coming-in-php-85/
292
Атрибут #[\NoDiscard] в PHP 8.5
@php_be1
https://www.amitmerchant.com/the-nodiscard-attribute-in-php-85/
292
Как интегрировать Google Cloud Storage в Laravel
https://www.luckymedia.dev/blog/how-to-integrate-google-cloud-storage-with-laravel
@php_be1
292
Релиз PHP 8.5.0 Alpha 1
Это первый тестовый билд новой версии языка.
https://www.php.net/archive/2025.php#2025-07-03-5
@php_be1
292
Сегодня я покажу вам, как быстро разрулить хаос в проекте с кастомным фреймворком, где нет нормального логирования.
Ситуация: клиент дал старый проект, ошибок — куча, но логов нет вообще. В коде try-catch, а в catch — пусто. Что делать?
Вот мой быстрый чеклист, который спасал не раз:
1. Глобальный обработчик ошибок и исключений
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
error_log("[PHP ERROR] $errstr in $errfile:$errline");
return false;
});
set_exception_handler(function (Throwable $e) {
error_log("[UNCAUGHT EXCEPTION] " . $e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine());
});
Добавил в index.php, и уже вижу, что именно валится.
2. Простой логгер на каждый чих
Создал файл logger.php:
function log_debug($msg) {
file_put_contents(__DIR__.'/debug.log', date('[Y-m-d H:i:s] ') . $msg . PHP_EOL, FILE_APPEND);
}
В нужных местах пишу log_debug('что-то случилось');. Дёшево и сердито, зато работает.
3. Прокинул заголовки и запросы
В самых первых строках запроса:
log_debug("REQUEST: " . $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI']);
log_debug("HEADERS: " . json_encode(getallheaders()));
log_debug("POST: " . json_encode($_POST));
Теперь видно, с чем именно клиент ломает мой старый код.
Не всегда есть время подтягивать Monolog и делать всё красиво. Иногда нужно быстро найти, где горит — и потушить. А уже потом наводить красоту.
А вы как действуете в таких ситуациях? Есть свои приёмы?
👉 [|@php_be1]
