استكشف أقوى تقنيات 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 لحماية المحتوى.
- مناسب للتعليم الإلكتروني أو منصات الفيديو حسب الطلب.
المدونة
يونيو 17, 2025
React Labs: View Transitions وActivity المنشور اتكتب يوم 23 أبريل 2025 من Ricky Hanlon. في React Labs النهارده بيقدّموا ميزتين تجريبيّتين مودرن...
يوليو 13, 2025
في Laravel، بنحتاج دايمًا نكتب استعلامات شبه بعض في أكتر من مكان. Laravel بتوفر طريقتين أساسيين نقدر نستخدمهم علشان نرتّب الاستعلامات دي: Scopes + Tra...
يونيو 26, 2025
مقارنة CSS: Cascade Layers و BEM و Utility Classes المقالة بتتكلّم عن ٣ طرق لإدارة الـ specificity في CSS – BEM والـ utility‑first classes وك...
يوليو 07, 2025
Laravel 12.19: استخدام Attributes تنظّم Query Builder في Laravel 12.19، دلوقتي تقدر تستخدم Attribute اسمه #[UseEloquentBuilder] علشان تحدد Query Bu...
يوليو 01, 2025
🎣 شرح React Hooks وبأمثلة عملية 🧠 useState بيعمل إيه: بيضيف حالة داخلية (state) جوا أي مكون شغال بوظيفة. مثال عملي: import React, { useSta...
يوليو 31, 2025
Hook useCallback في React يُستخدم لإنشاء نسخة ثابتة من دالة (callback) بحيث لا يُعاد إنشاؤها إلا إذا تغيرت الـ dependencies المحددة. الهدف الأساسي م...