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

يوليو 27, 2025

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

١. Inertia.js v2 مع Laravel Adapter و React

Inertia.js هو حل بيخليك تشتغل على تطبيقات SPA - Single Page Application باستخدام Laravel و React من غير ما تضطر تبني REST API بالكامل.

🔧 خطوات التثبيت:
composer require inertiajs/inertia-laravel

npm install @inertiajs/inertia @inertiajs/inertia-react react react-dom
⚙️ إعداد المشروع:
// resources/js/app.jsx
import { createInertiaApp } from '@inertiajs/inertia-react';
import { render } from 'react-dom';

createInertiaApp({
  resolve: name => require(`./Pages/${name}`),
  setup({ el, App, props }) {
    render(, el);
  },
});
🔥 أهم المميزات في Inertia v2:
  • inertia.ensure_pages_exist: Laravel بيعرض خطأ واضح لو الـ Component مش موجود.
  • php artisan inertia:check-ssr: أمر جديد بيتأكد إن SSR شغال بعد النشر.
  • form.resetAndClearErrors(): بينضف البيانات والأخطاء معًا في استدعاء واحد.
🧪 مثال على التنقل باستخدام Inertia:
import { Inertia } from '@inertiajs/inertia';

Inertia.visit('/users', {
  onSuccess: () => console.log('تم تحميل الصفحة'),
  onError: () => alert('فيه مشكلة في التحميل'),
});

٢. View Creators في Laravel

View Creators بتسمحلك تحضّر البيانات مباشرة بعد إنشاء الـ View، قبل ما تبدأ Laravel في رندرتها.

🔧 طريقة الاستخدام:
use Illuminate\Support\Facades\View;

View::creator('dashboard', function ($view) {
    $view->with('totalUsers', \App\Models\User::count());
});
📌 الفوائد:
  • بيفصل منطق تجهيز البيانات عن الـ Controller.
  • بيخلّي الـ View دايمًا فيه المعلومات المطلوبة من غير تكرار الكود.

٣. بث الفيديوهات باستخدام Laravel HLS

Laravel HLS هي حزمة بتخليك تحوّل فيديوهاتك المخزنة في Eloquent Models لبث مباشر أو عند الطلب باستخدام بروتوكول HLS، وبتدعم تشفير AES-128.

🔧 التثبيت:
composer require outl1ne/laravel-hls
⚙️ الاستخدام:

ضيف Trait في موديل الفيديو:

use Outl1ne\Hls\Traits\ConvertsToHls;

class Video extends Model {
    use ConvertsToHls;
}

وبعدين تقدر تنفذ التحويل:

$video = Video::find(1);
$video->convertToHls();
🎯 المزايا:
  • تحويل سريع وآمن للفيديوهات.
  • دعم تشفير AES-128 لحماية المحتوى.
  • مناسب للتعليم الإلكتروني أو منصات الفيديو حسب الطلب.

المدونة

الفرق بين Redux, Context & React Components في إدارة الحالة

أغسطس 06, 2025

عند بناء تطبيقات باستخدام React، هناك حاجة إلى إدارة البيانات التي تتغير نتيجة تفاعل المستخدم أو جلب البيانات من مصادر خارجية. توجد ثلاث وسائل رئيسي...

مكونات واجهة المستخدم والتفاعل الأساسية في React Native

يوليو 01, 2025

مكونات واجهة المستخدم والتفاعل الأساسية في React Native React Native بتوفرلك مجموعة قوية من المكونات الجاهزة اللي تقدر تستخدمها لبناء تطبيقات موباي...

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

يوليو 01, 2025

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

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

يوليو 20, 2025

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

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

يناير 27, 2026

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

تعزيز PHP Enums باستخدام archtechx/enums

يوليو 01, 2025

تعزيز PHP enums باستخدام حزمة archtechx/enums من PHP 8.1، ظهر نوع جديد اسمه “enums” بيخليك تعرف قيم ثابتة بأسماء مرمّزة زي statuses...