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

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 19 січня, 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

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

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

Популярні

Logomark Logotype

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

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

Logomark Logotype

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

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

Logomark Logotype

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

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