تحديث 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 لو حابب تعرف أكتر. 👌

المدونة

ألوان في CSS - شرح مبسّط

يونيو 26, 2025

ألوان في CSS - شرح مبسّط النهارده هنتكلم عن الألوان في CSS: ازاي بنحددها، وخصوصًا الطرق الحديثة زي lab() وoklch(). 1. يعني إيه لون؟ مفيش حاجة اسم...

أهم تحديثات Laravel و PHP لكتابة كود أنظف وأسرع

أغسطس 17, 2025

Laravel Global Scopes: Automatic Query Filtering Eloquent الأهمية: فرض فلترة ثابتة على جميع استعلامات الموديل (مثل Soft Deletes) دون تكرا...

حقق أداءً أعلى لتقارير البيانات الضخمة باستخدام نظام (Queues)

يوليو 07, 2025

إزاي نعمل كاش لتقارير بفترة زمنية ثابتة إزاي نولّد تقارير ضخمة في الخلفية باستخدام الـ Job Queues 1. 🧠 كاش للتقارير بفترة زمنية ثابتة لو ع...

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

يونيو 30, 2025

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

تجاوز $fillable بأمان باستخدام forceFill() في Laravel

يوليو 02, 2025

تجاوز $fillable بأمان باستخدام forceFill() في Laravel جربت تستخدم create() في Laravel ولاقيت إن حقول زي role أو status مش بتتحفظ؟ ده بسبب حماية Larav...

حلل مشروع Laravel بـ Introspect

يوليو 01, 2025

حلل كود Laravel باستخدام Laravel Introspect لو بتعمل Refactor كبير أو بتبني أدوات Dev‪، Laravel Introspect بيسمحلك تستعلم عن الكود: فيوز، مودلز، رو...