Пакет Laravel Attribute Mask від Fazle Rabbi автоматично маскує конфіденційні атрибути Eloquent-моделей під час їх отримання. Це зручно, коли потрібно показати часткові дані — наприклад, email, phone або іншу чутливу інформацію — не розкриваючи повних значень.
Щоб почати, додайте трейд HasMaskedAttributes до моделі й вкажіть, які атрибути слід маскувати, через метод maskables() або властивість $maskable:
use Irabbi360\LaravelAttributeMask\Concern\HasMaskedAttributes;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
use HasMaskedAttributes;
// Alternatively, use the property syntax:
protected array $maskable = ['email', 'phone'];
protected function maskables(): array
{
return ['email', 'phone'];
}
}
Після налаштування звернення до маскованих атрибутів повертає вже замасковане значення:
$user = User::find(1);
$user->email; // t**t@example.com
$user->phone; // 123****90
Щоб отримати оригінальне незамасковане значення, використовуйте метод getOriginal():
$user->getOriginal('email'); // test@example.com
Опублікований файл конфігурації (config/attribute-mask.php) дозволяє керувати поведінкою маскування та налаштувати її під ваші потреби:
return [
'enabled' => true,
'mask_char' => '*',
'email_masking' => [
'show_domain' => true,
'show_start' => 1,
'show_end' => 1,
],
'phone_masking' => [
'show_start' => 3,
'show_end' => 2,
'patterns' => ['phone', 'phone_number', 'mobile', 'mobile_number'],
],
'text_masking' => [
'show_start' => 3,
'show_end' => 3,
],
];
Масив patterns у phone_masking дозволяє пакету автоматично виявляти поля з телефонами за іменами атрибутів.
Встановіть пакет через Composer:
composer require irabbi360/laravel-attribute-mask
Опублікуйте файл конфігурації:
php artisan vendor:publish --tag="attribute-mask-config"
Детальніше та код — у репозиторії Laravel Attribute Mask на GitHub.
Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту
Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці
Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!