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

المدونة

Laravel 12.19: استخدام Attributes لتنظيم الـ Query Builder

يوليو 07, 2025

Laravel 12.19: استخدام Attributes تنظّم Query Builder في Laravel 12.19، دلوقتي تقدر تستخدم Attribute اسمه #[UseEloquentBuilder] علشان تحدد Query Bu...

مقارنة CSS: طبقات vs BEM vs Utility Classes

يونيو 26, 2025

مقارنة CSS: Cascade Layers و BEM و Utility Classes المقالة بتتكلّم عن ٣ طرق لإدارة الـ specificity في CSS – BEM والـ utility‑first classes وك...

استكشف أقوى تقنيات Laravel الحديثة: Inertia.js، View Creators، وHLS خطوة بخطوة

يوليو 27, 2025

أدوات قوية تقدر تستخدمها لتطوير تطبيقات Laravel بشكل احترافي: Inertia.js v2، وView Creators، وحزمة Laravel HLS لبث الفيديوهات بأمان. ١. Inertia.j...

استدعاء ملفات JavaScript عند الحاجة فقط لتحسين أداء موقعك

يوليو 24, 2025

🧠 يعني إيه Dynamic Import؟ الديناميـك إمبورت ببساطة هو إنك تحمّل ملف أو موديول JavaScript "وقت الحاجة بس" مش من أول الصفحة. الميزة دي بتقلل حجم ال...

React Labs: View Transitions وActivity

يونيو 17, 2025

React Labs: View Transitions وActivity المنشور اتكتب يوم 23 أبريل 2025 من Ricky Hanlon. في React Labs النهارده بيقدّموا ميزتين تجريبيّتين مودرن...

React Native 0.80 وExecuTorch: بداية قوية للذكاء الاصطناعي المحلي في تطبيقات الموبايل

يوليو 28, 2025

🚀 الجديد في React Native 0.80 بالتفصيل الإصدار React Native 0.80 يعتبر نقطة تحول حقيقية في عالم تطوير تطبيقات الموبايل باستخدام React Native. التح...