Laravel SMS Catcher - це помічник для локальної розробки від Michal Skogemann, який перехоплює вихідні SMS-сповіщення. Подібно до того, як Mailpit працює з електронною поштою, цей пакет надає візуальну панель керування для перевірки текстового тіла та метаданих ваших SMS-повідомлень під час локальної роботи.
Основні Можливості
Пакет пропонує низку корисних функцій для розробників:
- Попередній перегляд у стилі телефону - відображає текст всередині макету віртуального пристрою з селектором для перевірки того, як виглядає перенесення рядків на екранах різної ширини.
- Безпечні налаштування за замовчуванням - блокує панель керування у production-середовищі, працюючи лише в local або debug режимах.
- Налаштовуване маршрутування - дозволяє налаштувати URL-шлях панелі керування та обгорнути маршрути власним middleware.
- Зберігання у плоскому файлі - зберігає повідомлення в локальному JSON-файлі у директорії logs, обходячи потребу в таблицях бази даних або міграціях.
- Управління вхідними повідомленнями - очищає окремі повідомлення або повністю очищає всю поштову скриньку з панелі керування.
Як Це Працює
Перехоплювач інтегрується в систему сповіщень Laravel. Коли ви надсилаєте сповіщення через канал sms, пакет перехоплює його, викликаючи метод toSms у класі сповіщення. Після цього він записує відправника, одержувача, тіло повідомлення та мітку часу до файлу storage/logs/sms-catcher.json.
Запис у плоский JSON-файл означає, що немає потреби налаштовувати таблиці бази даних або міграції. Оскільки Laravel за замовчуванням виключає директорію storage/logs з git, ваші тестові повідомлення не засмічуватимуть репозиторій.
Панель Керування та Попередній Перегляд на Телефоні
Панель керування постачається зі світлою та темною темами. Клік по повідомленню в бічній панелі відкриває детальний вигляд з макетом у стилі телефону. Випадаючий список вибору пристрою дозволяє перемикатися між розмірами екранів, щоб побачити, як виглядають перенесення тексту, відступи та розриви рядків на різних пристроях.
Конфігурація
За замовчуванням поштова скринька доступна за адресою /sms-catcher, коли ваш додаток працює в середовищі local або з увімкненим режимом debug. Якщо вам потрібно змінитиці налаштування, ви можете опублікувати конфігураційний файл:
php artisan vendor:publish --tag=sms-catcher-config
Отриманий файл config/sms-catcher.php дозволяє:
- Увімкнути або вимкнути перехоплювач за допомогою змінної оточення
SMS_CATCHER_ENABLED.
- Встановити власний префікс URL (
route.prefix).
- Налаштувати стек middleware (
route.middleware).
- Змінити місце зберігання повідомлень (
storage_path).
Встановлення
Ви можете встановити пакет як залежність для розробки через Composer:
composer require --dev michal78/laravel-sms-catcher
Щоб перехоплювати повідомлення, переконайтеся, що ваші класи сповіщень мають метод toSms(), який повертає рядок, масив або об'єкт, що містить тіло повідомлення.
Ви можете переглянути вихідний код, повідомити про проблеми та прочитати документацію в GitHub-репозиторії.