تحديث Laravel 12.18.0

يونيو 17, 2025

تحديث Laravel 12.18.0

صدر نسخه Laravel 12.18.0 فيها شوية ميزات جامدة كده:

  • توابع لتشفير وفك تشفير النصوص باستخدام Stringable ديركت في chain strings.
  • خيار --batched في php artisan make:job علشان Job يبقي batchable بسهولة.
  • Attribute UsePolicy ممكن تحدد Policy واضحة على موديل معين.
  • CTRL لاختصار استجابة HTTP Client لكل request.

🔐 1. تشفير وفك تشفير النصوص

بدل ما تستخدم:

// قبل
$encryptedToken = str('secret-api-token')
  ->pipe(fn(Stringable $str) => encrypt($str->value()))
  ->prepend('encrypted:')
  ->append(':end');

// بعد
$encryptedToken = str('secret-api-token')
  ->encrypt()
  ->prepend('encrypted:')
  ->append(':end');

بقى أسهل وأوضح بكتير باستخدام Stringable 😎

⚙️ 2. وظيفة batchable job

لو عايز تعمل job تشتغل Batchable، تبص كدا:

php artisan make:job ProcessPodcast --batched

الـ Class الجديد هيبقي:

namespace App\Jobs;

use Illuminate\Bus\Batchable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Queue\Queueable;

class ProcessPodcast implements ShouldQueue
{
    use Batchable, Queueable;

    public function handle(): void
    {
        if ($this->batch()->cancelled()) {
            return;
        }
        // شغلك هنا...
    }
}

🏷️ 3. Attribute UsePolicy

دلوقتي تقدر تحدد باسمه:

#[UsePolicy(PostPolicy::class)]
class Post extends Model {}

وده بدل الاعتماد كله على convention.

🌐 4. تحكم في الـ HTTP Client

تقدر تتحكم في طول الخطأ للـ truncate Exceptions بكل request:

Http::truncateExceptionsAt(240)->post(/* ... */)

دي كانت أبرز الميزات اللي اتقدمت في Laravel 12.18.0، ممكن تزور changelog لو حابب تعرف أكتر. 👌

المدونة

إتقان التكرار غير المتزامن في JavaScript باستخدام Array.fromAsync()

يوليو 27, 2025

🔍 ما هي Array.fromAsync() بالضبط؟ Array.fromAsync() هي دالة static من كائن Array، شبيهة بالدالة Array.from()، لكن الفرق الجوهري هو أن Array.fromAs...

الدليل الكامل لتحديثات ECMAScript 2025 للمطورين

يوليو 06, 2025

📘 شرح تفصيلي لتحديثات ECMAScript 2025 جميع مميزات ECMAScript 2025، مع أمثلة عملية وفهم ليه الميزة دي مهمة لأي مبرمج واجهة أمامية. ١. مجموعات مسما...

شرح مفصل لكل هوك في React

يوليو 01, 2025

🎣 شرح React Hooks وبأمثلة عملية 🧠 useState بيعمل إيه: بيضيف حالة داخلية (state) جوا أي مكون شغال بوظيفة. مثال عملي: import React, { useSta...

أحدث مميزات ECMAScript 2025

يونيو 30, 2025

أحدث مميزات ECMAScript 2025 في 25 يونيو 2025، تم اعتماد ES2025 رسميًا. الإضافات الجاية هتسهل عليك كتابة الكود: 1. 📦 Import Attributes و JSON Module...

نظرة معمقة على Laravel Context: تسجيل وتحليل السياق البرمجي باحترافية

يوليو 20, 2025

في Laravel 12، تم تقديم Laravel Context كأداة قوية بتخلي تتبع الطلبات، تسجيل الأخطاء، وتحليل سلوك الوظائف الخلفية أسهل وأدق من أي وقت فات. وده بيحصل ع...

إتقان التحقق الشرطي في Laravel 12

يوليو 07, 2025

إتقان التحقق الشرطي في Laravel 12 في Laravel 12، نظام التحقق (validation) قوي جدًا، وميزة التحقق الشرطي بتخليك تتحكم في القوانين بتاعتك ب...

The Ultimate Managed Hosting Platform