Флюїдний конструктор шляхів для PHP та Laravel

Перекладено ШІ 3 Laravel News 02 червня, 2026

Залишайтеся в безпеці з LaraPath – потужним пакетом для створення шляхів у PHP, який пропонує інтеграцію з Laravel 11+ та різноманітні стратегії санітаризації. Дізнайтеся, як спростити управління файлами та захистити дані за допомогою простих у використанні методів, прочитавши нашу статтю

LaraPath — це безпечний і зручний інструмент для створення шляхів у PHP, що пропонує стратегії очищення та інтеграцію з Laravel версії 11+. Цей пакет ідеально підходить для організації багатокористувацького зберігання з урахуванням конфіденційності, вирішення конфліктів назв файлів, запобігання втраті даних та інших завдань.

// Хешування чутливих даних
$path = PathBuilder::base('storage')
    ->add('user@email.com', SanitizationStrategy::HASHED)
    ->toString(); // "storage/5d41402abc4b2a76b9719d911017c592"
 
// Створення URL-дружніх назв
$path = PathBuilder::base('uploads')
    ->add('My Amazing File!', SanitizationStrategy::SLUG)
    ->toString(); // "uploads/my-amazing-file"
 
// Конвертація в snake_case
$path = PathBuilder::base('files')
    ->add('CamelCase Name', SanitizationStrategy::SNAKE)
    ->toString(); // "files/camel_case_name"
 
// Додавання міток часу для унікальності
$path = PathBuilder::base('temp')
    ->add('session', SanitizationStrategy::TIMESTAMP)
    ->toString(); // "temp/session_1640995200"

Пакет також містить інтеграцію з Laravel через фасад:

// Приклад використання фасаду
$exists = LaraPath::base('uploads')
    ->add('avatar.jpg')
    ->exists('public'); // Використовує Storage::disk('public')->exists()
 
// Прив'язка контейнера
app('larapath')
    ->base('files')
    ->add('document.pdf')
    ->size(); // Використовує Storage::size()

Також доступні механізми валідації та безпеки, які автоматично перевіряють небезпечні шляхи, а також можливість ручної перевірки:

// Автоматична валідація
$path = PathBuilder::base('uploads')
    ->add('../../../etc/passwd') // Небезпечний шлях
    ->validate() // Викликає InvalidArgumentException
    ->toString();
 
// Ручна перевірка безпеки
$isSafe = PathBuilder::isSafe('uploads/../dangerous/path'); // false

# Головні особливості

  • Безпека понад усе: Вбудований захист від атак на перетворення директорій
  • Зручний API: Чисте і зрозуміле створення шляхів з методом ланцюгового виклику
  • Стратегії очищення: Різні стратегії для конкретних випадків (хеш, слог, snake_case, мітка часу)
  • Незмінні операції: Створення шляхів без побічних ефектів, безпечно для потоків
  • Стратегічний патерн: Розширювана система очищення
  • Типова безпека: Повні типізації та автозавершення в IDE
  • Інтеграція з Laravel: Опціональна інтеграція з фасадом Storage

💻 Ви можете розпочати роботу з цим пакетом на GitHub: hdaklue/LaraPath

Популярні

Інше, що варто прочитати

17 Оновлено 01 червня, 2026

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!

26 Оновлено 01 червня, 2026

"SQLSTATE[HY000] [2002] Connection refused" у Laravel в GitHub Actions

Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!

15 Оновлено 01 червня, 2026

Простий пакет RabbitMQ для Laravel

Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!