Laravel 12.21.0 – تحديث ذكي لتسهيل الاستعلامات والتحقق الصارم للبيانات
أغسطس 3, 2025أصدرت Laravel النسخة 12.21.0 بمزايا برمجية هامة تساهم في كتابة كود أنظف وأسهل في الصيانة. من أهمها دالة whereValueBetween() الجديدة، بالإضافة إلى تشديد قواعد التحقق للبيانات المنطقية والرقمية.
١. دالة whereValueBetween() : استعلام أنيق لقيم بين عمودين
الميزة الجديدة whereValueBetween() بتسهل مقارنة قيمة معينة (زي عمر المستخدم أو رقم الطلب) ما بين قيمتين موجودين في عمودين من الجدول. بدل ما تكتب شرط معقد، دلوقتي تقدر تكتب الكود بالشكل ده:
$users = DB::table('users')
->whereValueBetween('age', 'min_age', 'max_age')
->get();
قبل كده، كنا بنضطر نكتب استعلام مركب بالشكل التالي:
$users = DB::table('users')
->whereColumn('min_age', '<=', 'age')
->whereColumn('max_age', '>=', 'age')
->get();
لكن باستخدام whereValueBetween() ، الاستعلام بقى أنظف وأسهل في القراءة، وده بيساعدك في كتابة كود أقرب للنية البرمجية (Intent-Driven Code).
٢. التحقق الصارم (Strict Validation): دقة أفضل وسلوك متوقع
واحدة من أهم التحديثات في Laravel 12.21.0 هي تحسين التحقق من القيم باستخدام قواعد 'accepted' و 'numeric' بشكل أكثر صرامة.
تفاصيل التغيير:
'accepted': لازم تكون القيمة حرفيًاtrueأو'1'أو1. أي قيمة تانية (حتى'yes'أو'on') مش هتعدي التحقق.'numeric': القاعدة بقت ترفض القيم اللي مش رقم حقيقي، زيnullأو'abc'، حتى لو كانت من نوع String.
الميزة دي بتحميك من البيانات الغلط اللي ممكن تدخل بسبب تهور المستخدم أو ثغرات في الواجهة الأمامية.
٣. تأثير التحديث على المشاريع الحقيقية
المزايا الجديدة بتوفرلك:
- تقليل الكود المكرر في الاستعلامات المعقدة.
- تحقق أدق على مدخلات المستخدم، وده بيقلل (bugs) الناتجة عن بيانات غير صالحة.
- كتابة كود أنظف وأكثر توافقًا مع معايير SOLID وClean Code.
٤. كيف تبدأ في استخدام الميزات دي؟
- تأكد إنك محدث للنسخة 12.21.0 أو أحدث.
- استخدم whereValueBetween() في أي حالة محتاجة مقارنة قيمة مع عمودين.
- راجع قواعد التحقق عندك واستفد من التشديد الجديد في 'accepted' و 'numeric' .
💡 نصيحة احترافية: اختبر الكود بتاعك بعد التحديث باستخدام Unit Tests للتأكد إن كل شيء شغال بنفس السلوك المتوقع.
المدونة
يوليو 26, 2025
1. البدايات: النشأة داخل Facebook في عام 2011، واجه مهندسو Facebook تحديًا متزايدًا في صيانة واجهات المستخدم المعقدة والتفاعلية. تم تطوير مكتبة د...
يوليو 07, 2025
إزاي نعمل كاش لتقارير بفترة زمنية ثابتة إزاي نولّد تقارير ضخمة في الخلفية باستخدام الـ Job Queues 1. 🧠 كاش للتقارير بفترة زمنية ثابتة لو ع...
أغسطس 17, 2025
Laravel Global Scopes: Automatic Query Filtering Eloquent الأهمية: فرض فلترة ثابتة على جميع استعلامات الموديل (مثل Soft Deletes) دون تكرا...
يوليو 13, 2025
في Laravel، بنحتاج دايمًا نكتب استعلامات شبه بعض في أكتر من مكان. Laravel بتوفر طريقتين أساسيين نقدر نستخدمهم علشان نرتّب الاستعلامات دي: Scopes + Tra...
يونيو 03, 2025
لارافيل 12.16.0 - مميزات جديدة للمطورين 1. قاعدات تحقق جديدة: in_array_keys دلوقتي تقدر تتحقق إن الأراي فيه على الأقل مفتاح واحد من اللي انت محددهم...
يونيو 29, 2025
إزاي OAuth بيشتغل؟ OAuth هو بروتوكول بيخلّي التطبيقات تقدر تدخل على بياناتك بطريقة آمنة من غير ما تدّيهم الباسورد بتاعك. زي مثلًا لو حبيت تطبيق ينشر...