Часто при демонстрации нашего проекта заинтересованным сторонам мы заполняем базу данных фиктивными данными с помощью библиотеки Faker для PHP.
Но иногда заинтересованным сторонам сложно воспринимать данные, так как по умолчанию библиотека Faker генерирует их в формате локали
Вот небольшой совет: мы можем изменить локаль для нашего Laravel-приложения с помощью переменной окружения
В моем случае я обычно устанавливаю
#laravel #php
👉 @PHPgx | #tips
Но иногда заинтересованным сторонам сложно воспринимать данные, так как по умолчанию библиотека Faker генерирует их в формате локали
en_US.Вот небольшой совет: мы можем изменить локаль для нашего Laravel-приложения с помощью переменной окружения
APP_FAKER_LOCALE.В моем случае я обычно устанавливаю
APP_FAKER_LOCALE в ru_RU, после чего Faker начинает генерировать данные, более приближенные к русскому формату.#laravel #php
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3
Одна из самых подробных и полезных шпаргалок для Backend-разработчиков на русском языке.
Всё, что нужно, собрано в одном месте: как устроен интернет, как работают ПК, базы данных, API, тестирование и куча всего ещё
Весь материал преисполнен разными таблицами и картинками для лучшего усвоения, вся информация подаётся кратко и понятно, а если захотите изучить детальнее — везде есть ссылки на источники.
👉 @PHPgx | #ресурсы
Всё, что нужно, собрано в одном месте: как устроен интернет, как работают ПК, базы данных, API, тестирование и куча всего ещё
Весь материал преисполнен разными таблицами и картинками для лучшего усвоения, вся информация подаётся кратко и понятно, а если захотите изучить детальнее — везде есть ссылки на источники.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥2👀2
Начиная с Laravel 11, весь middleware, который мы хотим применить в нашем приложении, необходимо настраивать в файле
Если вы переходите с более старой версии Laravel, вот различные методы, которые вам нужно знать для работы с middleware в Laravel 11 и более поздних версиях.
Здорово, что новая структура включает в себя все эти возможности👍
👉 @PHPgx | #tips
bootstrap.php.Если вы переходите с более старой версии Laravel, вот различные методы, которые вам нужно знать для работы с middleware в Laravel 11 и более поздних версиях.
Здорово, что новая структура включает в себя все эти возможности
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
URL vs URI vs URN — в чем разница?
🔹 URI (Uniform Resource Identifier)
URI — это строка символов, идентифицирующая ресурс по местоположению, имени или обоим параметрам. Это самый общий идентификатор. URL и URN являются подтипами URI.
🔹 URL (Uniform Resource Locator)
URL — это подтип URI, который указывает, как найти ресурс в сети. Он включает протокол (например, HTTPS), домен и часто путь. URL полностью описывает способ доступа к ресурсу. Например:
🔹 URN (Uniform Resource Name)
URN — это тоже подтип URI, но он идентифицирует ресурс по имени в рамках определенного пространства имен, а не по местоположению. Он использует схему
Проще говоря:
🔹 URL — это URI, но не всякий URI является URL.
🔹 URN — уникальные имена, URL — локаторы, URI объединяет оба типа.
👉 @PHPgx
URI — это строка символов, идентифицирующая ресурс по местоположению, имени или обоим параметрам. Это самый общий идентификатор. URL и URN являются подтипами URI.
URL — это подтип URI, который указывает, как найти ресурс в сети. Он включает протокол (например, HTTPS), домен и часто путь. URL полностью описывает способ доступа к ресурсу. Например:
https://example.com/path/to/resource. URL также может использоваться с другими протоколами, такими как FTP.URN — это тоже подтип URI, но он идентифицирует ресурс по имени в рамках определенного пространства имен, а не по местоположению. Он использует схему
urn. URN не может быть использован для нахождения ресурса. Это глобально уникальный идентификатор, который остается неизменным независимо от местоположения ресурса. Например, urn:isbn:0361450721 идентифицирует книгу по ее ISBN, который остается неизменным, даже если книга хранится в разных местах.Проще говоря:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
Поскольку в сериализуемом замыкании нельзя использовать
Этот подход:
🔹 Избавляет от необходимости создавать локальные переменные для свойств
🔹 Делает код более чистым, разделяя ответственность.
🔹 Переносит логику в отдельный тестируемый класс.
👉 @PHPgx | #tips
$this, рассмотрите возможность вынесения колбэков Bus::batch, основанных на Closure, в отдельные вызываемые (callable) классы.Этот подход:
$this, чтобы сделать их сериализуемыми.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Vito — это самохостимое веб-приложение для управления серверами и деплоя PHP-приложений.
Поддерживает управление базами данных, настройку файрвола, установку SSL-сертификатов и управление cron-заданиями.
👉 https://github.com/vitodeploy/vito
👉 @PHPgx | #ресурсы
Поддерживает управление базами данных, настройку файрвола, установку SSL-сертификатов и управление cron-заданиями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
HTTP/2 vs HTTP/3 — В чем разница?
HTTP/1 появился в 1996 году, а уже в 1997 вышел HTTP/1.1.
Следующий крупный шаг произошел только спустя ~20 лет — в 2015 году был стандартизирован HTTP/2. А в 2022 году официально утвердили HTTP/3.
В чем разница?
HTTP/1.1
✅ Постоянные соединения — повторное использование соединений вместо открытия новых
✅ Потоковая передача (Chunked Transfer) — отправка данных частями вместо ожидания полного ответа
✅ Улучшенное кеширование — заголовки для управления кешем и соединениями
❌ Последовательные запросы — блокируют друг друга (HoL-блокировка на уровне запросов)
❌ Требуется несколько соединений — браузеры открывали несколько TCP-соединений для скорости
HTTP/1.1 заложил фундаментальные механизмы, актуальные и сегодня.
HTTP/2
✅ Мультиплексирование — несколько запросов в одном TCP-соединении
✅ Сжатие заголовков (HPACK) — уменьшение накладных расходов
✅ Приоритизация потоков — критически важные ресурсы загружаются первыми
❌ HoL-блокировка — потерянный пакет блокирует все потоки
HTTP/2 оптимизировал TCP, но остался ограничен его архитектурой.
HTTP/3
✅ Основан на QUIC (UDP) — больше нет узких мест TCP
✅ Независимые потоки — потеря пакетов в одном потоке не мешает другим
✅ Быстрые рукопожатия — транспорт и шифрование настраиваются за один шаг
✅ Обязательное шифрование (TLS 1.3) — безопасность по умолчанию
✅ Миграция соединений — стабильная работа при смене сети
Вывод: HTTP/2 оптимизировал TCP, но HTTP/3 меняет правила игры с QUIC — быстрее, надежнее и безопаснее по умолчанию.
👉 @PHPgx
HTTP/1 появился в 1996 году, а уже в 1997 вышел HTTP/1.1.
Следующий крупный шаг произошел только спустя ~20 лет — в 2015 году был стандартизирован HTTP/2. А в 2022 году официально утвердили HTTP/3.
В чем разница?
HTTP/1.1
HTTP/1.1 заложил фундаментальные механизмы, актуальные и сегодня.
HTTP/2
HTTP/2 оптимизировал TCP, но остался ограничен его архитектурой.
HTTP/3
Вывод: HTTP/2 оптимизировал TCP, но HTTP/3 меняет правила игры с QUIC — быстрее, надежнее и безопаснее по умолчанию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2
При работе с загрузкой изображений в Laravel важно проверять их ширину и высоту.
Например, если пользователи загружают аватары, лучше убедиться, что размеры остаются единообразными.
Не проблема! Класс Rule в Laravel позволяет легко валидировать размеры изображения с понятным синтаксисом.
Вот пример кода👆
👉 @PHPgx | #tips
Например, если пользователи загружают аватары, лучше убедиться, что размеры остаются единообразными.
Не проблема! Класс Rule в Laravel позволяет легко валидировать размеры изображения с понятным синтаксисом.
Вот пример кода
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Ищешь игры, которые помогут тебе выучить и практиковать SQL?
Попробуй SQL Noir — детективная игра по SQL
Пиши запросы, анализируй данные и раскрывай дела!
👉 Попробовать - https://www.sqlnoir.com/
👉 Исходники доступны на GitHub
👉 @PHPgx | #ресурсы
Попробуй SQL Noir — детективная игра по SQL
Пиши запросы, анализируй данные и раскрывай дела!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😁1
Совет по Laravel: Неявное привязывание Enum = чистые и типобезопасные маршруты
Определите
Элегантно, просто, мощно✌️
👉 @PHPgx | #tips
Определите
enum на основе строки, используйте его в качестве type hint в определении маршрута — и Laravel автоматически проверит сегменты маршрута, возвращая 404 для недопустимых значений.Элегантно, просто, мощно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2👎2
Хардкорная игра-тренажёр для PHP-разработчиков
Наткнулся на забавную игру в формате тренажёра, цель которой — проходить задания для прокачки навыков кодинга на языке PHP.
Правило всего одно: нужно переписать функцию так, чтобы она вернула true.
С каждым уровнем сложность заданий растёт. Никаких объяснений и руководств, всё по хардкору
👉 @PHPgx
Наткнулся на забавную игру в формате тренажёра, цель которой — проходить задания для прокачки навыков кодинга на языке PHP.
Правило всего одно: нужно переписать функцию так, чтобы она вернула true.
С каждым уровнем сложность заданий растёт. Никаких объяснений и руководств, всё по хардкору
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Большая актуальная базу бесплатных API, которая обновляется ежедневно
Тут собрано аж 363 бесплатных API на все случаи жизни: от игр и погоды до финансов и здоровья.
Алгоритмы присваивают рейтинг каждому API на основе надежности, частоты ошибок и времени отклика
Если API перестает работать или становится платным, он теряет рейтинг и удаляется с сайта
Переходите и смотрите сами: https://www.freepublicapis.com/
👉 @PHPgx | #ресурсы
Тут собрано аж 363 бесплатных API на все случаи жизни: от игр и погоды до финансов и здоровья.
Алгоритмы присваивают рейтинг каждому API на основе надежности, частоты ошибок и времени отклика
Если API перестает работать или становится платным, он теряет рейтинг и удаляется с сайта
Переходите и смотрите сами: https://www.freepublicapis.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2🔥2
Ещё один клёвый тренажёр+учебник по SQL
Тут можно потренироваться в хитрых джойнах, агрегациях и понабивать руку. Интерфейс очень приятный и позволяет потыкать схему БД, даёт подсказки как в коде, так и непосредственно по решению
В более сложные штуки (к примеру, в оконные функции) этот ресурс не лезет. Ну и запросы даже в самых сложных задачках получаются не сказать чтобы громоздкие
👉 https://sql-academy.org/ru/trainer
👉 @PHPgx | #ресурсы
Тут можно потренироваться в хитрых джойнах, агрегациях и понабивать руку. Интерфейс очень приятный и позволяет потыкать схему БД, даёт подсказки как в коде, так и непосредственно по решению
В более сложные штуки (к примеру, в оконные функции) этот ресурс не лезет. Ну и запросы даже в самых сложных задачках получаются не сказать чтобы громоздкие
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3