Редагуйте дані моделей за допомогою пакету Redactable Models для Laravel

Перекладено ШІ 0 Laravel News 13 вересня, 2025

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

Redactable Models для Laravel — це пакет від Ешлі Аллен, який дозволяє редагувати, запобігати розголошенню або маскувати дані у ваших моделях Laravel:

При створенні веб-додатків часто виникає необхідність зберігати старі дані для аудиту чи звітності. Однак з міркувань конфіденційності та безпеки ви можете захотіти приховати чутливу інформацію. Таким чином, ви збережете записи в базі даних, але без чутливих даних.

Цей пакет працює шляхом реалізації інтерфейсу Redactable та впровадження його методів. Ви вільні реалізувати їх так, як вам подобається, але пакет надає певні рекомендації для спрощення процесу редагування даних. Ось як виглядає скелет моделі та методи інтерфейсу:

use AshAllenDesign\RedactableModels\Interfaces\Redactable;
use Illuminate\Contracts\Database\Eloquent\Builder;

class User extends Model implements Redactable
{
    public function redactable(): Builder
    {
        // Визначте критерії, за якими записи є "редагованими"
    }

    public function redactionStrategy(): RedactionStrategy
    {
        // Визначте стратегію та поля для редагування
    }
}

Метод redactionStrategy() використовується для визначення як редагувати дані моделі та які поля підлягають редагуванню. Під час ознайомлення з цим пакетом мені сподобалася стратегія MaskContents, адже вона дозволяє отримати підказки щодо конкретного запису, якщо вам потрібно зіставити його з реальними даними, або дати невелику підказку про дані без їх розголошення:

public function redactionStrategy(): RedactionStrategy
{
    return app(MaskContents::class)
        ->mask(field: 'name', character: '*', index: 0, length: 4)
        ->mask(field: 'email', character: '-', index: 2, length: 3);
}

# Основні функції

  • Легко визначайте критерії, коли слід редагувати дані моделі
  • Можливість масового редагування даних в моделях
  • Передвстановлені стратегії редагування (заміна вмісту, хешування вмісту, маскування вмісту)
  • Можливість програмного редагування моделі вручну
  • Можливість масового редагування виробничих даних для тестових середовищ

💻 Почати роботу з цим пакетом можна на GitHub: ash-jc-allen/redactable-models

Популярні

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

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

Генерація документації в Laravel за допомогою штучного інтелекту

Docudoodle — це потужний пакет для генерації документації в Laravel, який допомагає легко аналізувати вашу кодову базу та створювати документацію за допомогою обраного вами AI. Чи готові ви дізнатися, як цей інструмент може спростити вашу роботу з документуванням коду? Читайте далі!

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

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

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

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

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!