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

المدونة

React Native 0.81: نقلة نوعية في كفاءة بيئة التطوير

يناير 27, 2026

مقدمة يُعد React Native من أكثر الأطر استخدامًا في تطوير تطبيقات الهواتف الذكية متعددة المنصات. ومع ذلك، ظل وقت بناء تطبيقات iOS أحد أكبر التحديا...

هل لارافيل بطيء؟ تحسين أداء الاستعلامات والفهارس بأمثلة

يوليو 20, 2025

دليل عملي ومفصل مع أمثلة واقعية وعينات كود تسهّل عليك تفادي بطء Laravel وتحافظ على سرعة التطبيق. 1. 🧠 استدعي اللي محتاجه بس لو بتعمل DB::tabl...

إزاي OAuth بيشتغل

يونيو 29, 2025

إزاي OAuth بيشتغل؟ OAuth هو بروتوكول بيخلّي التطبيقات تقدر تدخل على بياناتك بطريقة آمنة من غير ما تدّيهم الباسورد بتاعك. زي مثلًا لو حبيت تطبيق ينشر...

مقارنة بين Scopes + Traits × UseEloquentBuilder في Laravel

يوليو 13, 2025

في Laravel، بنحتاج دايمًا نكتب استعلامات شبه بعض في أكتر من مكان. Laravel بتوفر طريقتين أساسيين نقدر نستخدمهم علشان نرتّب الاستعلامات دي: Scopes + Tra...

تاريخ React – استعراض شامل وتحليل تقني

يوليو 26, 2025

1. البدايات: النشأة داخل Facebook في عام 2011، واجه مهندسو Facebook تحديًا متزايدًا في صيانة واجهات المستخدم المعقدة والتفاعلية. تم تطوير مكتبة د...

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

يوليو 28, 2025

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