لارافيل 12.16.0 - مميزات جديدة للمطورين

يونيو 3, 2025

لارافيل 12.16.0 - مميزات جديدة للمطورين

1. قاعدات تحقق جديدة: in_array_keys

دلوقتي تقدر تتحقق إن الأراي فيه على الأقل مفتاح واحد من اللي انت محددهم بسهولة:


Validator::make($request->all(), [
  'config' => 'array|in_array_keys:api_key,access_token,oauth_token',
  'config.api_key' => 'nullable|string|min:32|max:64',
  // ...
]);
  

القاعدة دي اسمها in_array_keys، وبتتاكد إن الأراي فيه أي مفتاح من اللي انت بتحدده :contentReference[oaicite:1]{index=1}.

2. الميثود Fluent: Rule::contains()

كود أنظف وسهل لو بتتحقق إن الأراي فيه قيم معينة:


Validator::make($request->all(), [
  'roles' => [
    'required',
    'array',
    Rule::contains([Role::Admin, Role::Editor]),
  ],
]);
  

دي بديل أرتب للميثود القديمة اللي كانت بتشتغل بـ contains: :contentReference[oaicite:2]{index=2}.

3. جديد في Arr::hasAll()


use Illuminate\Support\Arr;

$arr = ['name'=>'Taylor','language'=>'php'];

Arr::hasAll($arr, ['name']); // true
Arr::hasAll($arr, ['name','language']); // true
Arr::hasAll($arr, ['name','ide']); // false
  

بتتحقق لو الأراي فيه كل المفاتيح اللي انت عاوزها :contentReference[oaicite:3]{index=3}.

4. Stringable Method: toUri()


$sentence = 'Go to {https://euhosting.com/support} for support.';
$uri = str($sentence)->between('{','}')->toUri();

return $uri->value();
  

بتخلي أي string يتحول لـ URI بسهولة :contentReference[oaicite:4]{index=4}.

5. مميزات إضافية

  • أضافوا دعم لـ defer الكاش.
  • تحسينات متنوعة في رد على أخطاء Redis، RedisStore وغيره :contentReference[oaicite:5]{index=5}.