انتقل إلى محتوى الدرس

Encrypted Eloquent Model Casts تشفير حقول النماذج تلقائيا

فهم معمارية الحراس ومزودي المصادقة وتأمين كلمات المرور بالتجزئة عبر Hash::make وتشفير البيانات الحساسة بـ Crypt.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

بدلاً من استدعاء واجهة Crypt يدوياً عند كل قراءة أو كتابة لحقل حساس، يوفر Eloquent محولات تشفير مدمجة مثل encrypted و encrypted:array. يقوم النموذج بتشفير القيمة تلقائياً قبل حفظها في قاعدة البيانات ويفك تشفيرها فور قراءتها داخل كود PHP.

  • محول النصوص المشفرة (encrypted): يشفر الحقول النصية الحساسة تلقائياً عند التخزين ويفكها عند القراءة.
  • محول المصفوفات المشفرة (encrypted:array): يحول المصفوفة إلى JSON مشفر في القاعدة ويعيدها كمصفوفة PHP جاهزة.
  • حجم عمود القاعدة (TEXT Column): استخدم نوع TEXT للأعمدة المشفرة لأن النص المشفر أطول بكثير من النص الأصلي.
PHP
protected function casts(): array
{
    return [
        'api_secret' => 'encrypted',
        'recovery_codes' => 'encrypted:array',
    ];
}