en
Feedback
PHP-BE1

PHP-BE1

Open in Telegram

Канал по PHP, полезный и интересный контент для всех уровней. По вопросам сотрудничества @cyberJohnny

Show more
292
Subscribers
No data24 hours
-17 days
-330 days
Posts Archive
JetBrains взяло на себя выпуск браузерных расширений Xdebug Helper @php_be1 https://blog.jetbrains.com/phpstorm/2025/03/jetbrains-xdebug-helper/

Как справиться с «загадочными» ошибками в PHP? 🤔 Сегодня я хочу обсудить одну из самых неприятных проблем в программировании — «загадочные» ошибки. Это те сбои, которые проявляются только в рабочей среде, исчезают при попытке отладки и вызывают нервное напряжение 😬. 🔍 Почему это происходит? - Разные среды — на локальной машине у вас PHP 8.2, а на сервере 7.4 (и вдруг функция match ломает весь код). - Необработанные ошибки — ошибки игнорируются с помощью @, а логи ничего не показывают. - Состояние кэша — в OpCache или APCu осталась старая версия кода. - Конкуренция потоков — скрипты выполняются одновременно и мешают друг другу. 🛠 Как с этим бороться? 1⃣ Отключить OpCache на тестовом сервере. Это позволит быстрее проверять изменения и исключить проблемы с кэшем. 2⃣ Настроить логирование. Включите error_reporting(E_ALL) и убедитесь, что display_errors=Off, а log_errors=On с указанием пути к файлу логов. 3⃣ Сравнить среды. Используйте phpinfo() или php -m для проверки версий PHP и установленных модулей. 4⃣ Включить трассировку ошибок. Xdebug поможет отследить стек вызовов, а Laravel Telescope покажет детали запроса. 5⃣ Воспроизвести проблему на копии продакшена. Запустите код в Docker с конфигурацией продакшена или создайте staging-сервер. 6⃣ Подключить мониторинг и оповещения. Инструменты вроде Sentry, Bugsnag или New Relic помогут обнаруживать ошибки раньше, чем их заметят пользователи. 👉 [|@php_be1]

Оптимизация SQL-запросов в PHP: избавляемся от тормозов! 🚀 Сегодня я расскажу, как повысить производительность SQL-запросов в PHP и уменьшить нагрузку на базу данных. 1. Используйте подготовленные запросы. Это не только защита от SQL-инъекций, но и возможность кеширования запросов внутри системы управления базами данных. Пример с PDO: $stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email"); $stmt->execute(['email' => $email]); $user = $stmt->fetch(); 2. Выбирайте только необходимые данные. Зачем вам использовать SELECT *, если нужны только id и name? Выбирайте только нужные колонки! $stmt = $pdo->query("SELECT id, name FROM users"); 3. Индексы – ваши друзья. Проверьте, есть ли индексы на полях, которые часто используются в WHERE и JOIN. Без индексов база данных будет выполнять полный перебор строк! CREATE INDEX idx_email ON users(email); 4. Избегайте N+1 запроса. Вместо того чтобы выполнять 100 мелких запросов, сделайте один с JOIN. ❌ Плохо (100 запросов в цикле!): foreach ($users as $user) { $stmt = $pdo->prepare("SELECT * FROM orders WHERE user_id = ?"); $stmt->execute([$user['id']]); $orders[$user['id']] = $stmt->fetchAll(); } ✅ Хорошо (один запрос): $query = "SELECT users.id, users.name, orders.id as order_id FROM users LEFT JOIN orders ON users.id = orders.user_id"; $stmt = $pdo->query($query); $result = $stmt->fetchAll(); 5. Используйте кеширование. Храните часто запрашиваемые данные в Redis или Memcached, чтобы снизить нагрузку на базу данных. $cacheKey = "users_list"; $users = $redis->get($cacheKey); if (!$users) { $users = $pdo->query("SELECT id, name FROM users")->fetchAll(); $redis->setex($cacheKey, 3600, json_encode($users)); } Эти советы помогут вам ускорить ваш PHP-код, снизить нагрузку на базу данных и сделать сайт более отзывчивым. 👉 [|@php_be1]

Большое тред на Реддит с недовольством новыми стартовыми наборами в Ларавел https://www.reddit.com/r/laravel/comments/1iyyxk4
Большое тред на Реддит с недовольством новыми стартовыми наборами в Ларавел https://www.reddit.com/r/laravel/comments/1iyyxk4/laravel_is_going_in_the_wrong_direction_imho/ @php_be1

Laravel + Go: создание гибридной архитектуры @php_be1 https://www.geocod.io/code-and-coordinates/2025-02-10-supercharging-laravel-with-go/

Релиз Filament 3.3 с поддержкой Laravel 12 https://filamentphp.com/ @php_be1
Релиз Filament 3.3 с поддержкой Laravel 12 https://filamentphp.com/ @php_be1

🚀 Переходите на новый уровень PHP-разработке! 📚 Курс Symfony Framework создан для тех, кто стремится стать востребованным р
🚀 Переходите на новый уровень PHP-разработке! 📚 Курс Symfony Framework создан для тех, кто стремится стать востребованным разработчиком уровня middle+ и senior. Мы научим вас решать задачи уровня enterprise на одном из самых мощных PHP-фреймворков — Symfony! 🔧 Почему Symfony? Symfony — это выбор компаний, создающих сложные и надежные приложения. На нашем курсе вы научитесь: - Использовать Symfony в проектах; - Обеспечивать безопасность приложения; - Тестировать и мониторить полученный код; - Использовать встроенные инструменты фреймворка; - Разворачивать приложения в различных окружениях. 👩‍🏫 Что вас ждет на курсе? Вы освоите все ключевые функции Symfony под руководством преподавателей-практиков, которые работают на реальных проектах с использованием Symfony, Laravel и других популярных фреймворков. 🚀 Регистрируйтесь прямо сейчас, пройдите короткий тест и получите возможность учиться у экспертов на самых выгодных условиях с промокодом- "Symfony_1_25", а также в рассрочку: 💥👉 https://clck.ru/3GbJhB Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Laravel 12 уже завтра @php_be1
Laravel 12 уже завтра @php_be1

История создания идеального Docker для Laravel На первый взгляд, упаковать PHP в контейнер и настроить GitHub Actions кажется
История создания идеального Docker для Laravel На первый взгляд, упаковать PHP в контейнер и настроить GitHub Actions кажется простым делом. Но, как часто бывает, реальность оказалась более сложной. Это рассказ о том, как я вернулся к разработке на PHP и решал накопившиеся проблемы с деплоем проекта на Laravel. Я работал над созданием Docker-образа, несколько раз изменял процесс деплоя, искал компромиссы там, где это можно было сделать, и полностью перестраивал архитектуру в тех случаях, когда компромиссы были неприемлемы. 👉 [|@php_be1]

Пять практических советов по улучшению поиска в Laravel-приложениях с помощью Typesense @php_be1 https://tighten.com/insights/five-practical-tips-to-improve-search-in-laravel-apps-with-typesense/

Релиз PHP 8.4.4 и 8.3.17 https://www.php.net/ChangeLog-8.php 👉 [|@php_be1]
Релиз PHP 8.4.4 и 8.3.17 https://www.php.net/ChangeLog-8.php 👉 [|@php_be1]

Новый метод withAttributes для отношений и скоупов в Laravel @php_be1 https://www.amitmerchant.com/with-attributes-scopes-laravel/

Релиз PHP 8.4.4 и 8.3.17 https://www.php.net/ChangeLog-8.php @php_be1
Релиз PHP 8.4.4 и 8.3.17 https://www.php.net/ChangeLog-8.php @php_be1

Ежегодный опрос PHP-сообщества: итоги 2024 года @php_be1 https://habr.com/ru/articles/880552/

Недавно мне удалось попользоваться такой замечательной библиотекой как Saloon. О ее существовании я не знал, и решил с вам поделиться опытом - возможно вы тоже не знали?? Вкратце это удобный пакет для написания интеграция с другими сис-ма по http api. Там есть своя структура для описания взаимодействия и различная небольшая экосистема (тестирование, работа с exceptions и другое). Свой опыт я решил описать на laravel.su для большего охвата аудитории. 😊 Резюмируя - пакет мне понравился конечно, пришлось встретиться с несколькими незначительными нюансами - но пока все идет ровно. Почитать можно здесь А если у вас уже есть опыт - напиши в комментариях - может еще не поздно все удалить 😁 и переписать !! @php_be1 https://laravel.su/p/saloon-universalnyi-instrument-dlia-integracii-po-api

Использование статического анализа в Laravel: руководство по началу работы с PHPStan @php_be1 https://labrodev.substack.com/p/using-static-analysis-in-laravel