Laravel Breeze: دليلك الشامل لإنشاء نظام مصادقة سريع وفعّال
Laravel Breeze هو سكافولد (scaffolding) مصادقة بسيط، خفيف الوزن، وسهل التخصيص لتطبيقات Laravel. يوفر طريقة سريعة لإعداد جميع ميزات المصادقة الضرورية، بما في ذلك تسجيل الدخول، التسجيل، إعادة تعيين كلمة المرور، التحقق من البريد الإلكتروني، وتأكيد كلمة المرور، مع خيارات متعددة لتقنيات الواجهة الأمامية (frontend).
على عكس Laravel Jetstream، الذي يعتبر أكثر غنى بالميزات، يركز Breeze على البساطة، حيث يقدم فقط ميزات المصادقة الأساسية. هذا يجعله خيارًا ممتازًا للمطورين الذين يفضلون بناء واجهة المستخدم الخاصة بهم من الصفر أو دمجها مع واجهة أمامية موجودة دون الحاجة إلى ميزات إضافية مثل الفرق (teams) أو إدارة الـ API.
لماذا تختار Laravel Breeze؟ #
- البساطة: يقدم نظام مصادقة أساسي يسهل فهمه وتعديله.
- المرونة: يوفر خيارات لمختلف تقنيات الواجهة الأمامية (Blade, Livewire, React, Vue)، مما يتيح لك اختيار الأنسب لمشروعك.
- سهولة التخصيص: نظرًا لأنه مبني على قوالب Blade بسيطة (أو أطر عمل تعتمد على المكونات)، فإن تخصيص واجهة المستخدم والمنطق الخلفي أمر سهل ومباشر.
- الإعداد السريع: يمكنك الحصول على نظام مصادقة فعال بالكامل في دقائق.
المتطلبات الأساسية #
قبل البدء، تأكد من تثبيت ما يلي على جهاز التطوير الخاص بك:
- PHP: الإصدار 8.1 أو أعلى.
- Composer: لإدارة تبعيات PHP.
- Node.js و npm (أو Yarn): لإدارة تبعيات JavaScript وتجميع الأصول.
- مشروع Laravel: سنفترض أن لديك مشروع Laravel جديدًا أو موجودًا. إذا لم يكن كذلك، يمكنك إنشاء واحد باستخدام Composer:
composer create-project laravel/laravel my-breeze-app cd my-breeze-app
دليل التثبيت #
اتبع هذه الخطوات لدمج Laravel Breeze في تطبيق Laravel الخاص بك.
الخطوة 1: تثبيت حزمة Laravel Breeze عبر Composer #
أولاً، انتقل إلى الدليل الجذر لمشروعك في الطرفية (terminal) وقم بتثبيت حزمة Laravel Breeze باستخدام Composer:
composer require laravel/breeze --dev
يشير العلم --dev إلى أن هذه الحزمة مطلوبة فقط للتطوير والاختبار، وليس للإنتاج.
الخطوة 2: تثبيت سكافولد Breeze #
بعد تثبيت حزمة Composer، تحتاج إلى تشغيل أمر Artisan breeze:install. سيقوم هذا الأمر بنشر طرق العرض (views)، المسارات (routes)، وحدات التحكم (controllers)، والموارد الأخرى المتعلقة بالمصادقة إلى تطبيقك.
يقدم Breeze عدة تقنيات واجهة أمامية. اختر واحدة تناسب مشروعك:
- Blade (مع Tailwind CSS):
php artisan breeze:install blade - Livewire (مع Alpine.js و Tailwind CSS):
php artisan breeze:install livewire - React (مع Inertia.js و Tailwind CSS):
php artisan breeze:install react - Vue (مع Inertia.js و Tailwind CSS):
php artisan breeze:install vue - API (مع Laravel Sanctum لتطبيقات SPA/الجوال):
php artisan breeze:install api
بالنسبة لمعظم تطبيقات الويب التي تبدأ بـ Breeze، يعد blade خيارًا شائعًا وسهل الفهم. يمكنك أيضًا إضافة العلم --dark لدعم الوضع الداكن (على سبيل المثال، php artisan breeze:install blade --dark).
لنتابع باستخدام تقنية blade لهذا الدليل:
php artisan breeze:install blade
سيقوم هذا الأمر بإنشاء الملفات الضرورية وسيطلب منك تشغيل npm install و npm run dev.
الخطوة 3: تثبيت تبعيات NPM وتجميع الأصول #
يعتمد Breeze، بغض النظر عن التقنية المختارة، على حزم Node.js للتصميم (Tailwind CSS) ومنطق الواجهة الأمامية (Alpine.js لـ Blade/Livewire، React/Vue لتقنياتهما). قم بتثبيت هذه التبعيات وقم بتجميع الأصول الخاصة بك:
npm install
npm run dev
- يقوم
npm installبتنزيل جميع تبعيات JavaScript المحددة في ملفpackage.jsonالخاص بك. - يقوم
npm run devبتجميع أصولك (CSS و JavaScript) باستخدام Vite (أو Webpack في إصدارات Laravel القديمة).
إذا كنت ترغب في متابعة التغييرات أثناء التطوير، يمكنك استخدام npm run watch.
الخطوة 4: تشغيل ترحيلات قاعدة البيانات (Database Migrations) #
يقوم Breeze بإعداد نظام مصادقة يتطلب جدول users في قاعدة بياناتك. تأكد من تكوين اتصال قاعدة البيانات في ملف .env الخاص بك، ثم قم بتشغيل الترحيلات:
php artisan migrate
سيؤدي هذا إلى إنشاء جداول users و password_resets (وغيرها) المطلوبة للمصادقة.
الخطوة 5: بدء خادم التطوير #
أخيرًا، ابدأ خادم تطوير Laravel لرؤية تطبيقك قيد التشغيل:
php artisan serve
الآن، افتح متصفحك وانتقل إلى http://127.0.0.1:8000. يجب أن تشاهد رابطي تسجيل الدخول والتسجيل في الزاوية العلوية اليمنى.
استكشاف ميزات Breeze #
بعد التثبيت، يوفر Laravel Breeze مجموعة كاملة من ميزات المصادقة:
- التسجيل: إنشاء حسابات مستخدمين جديدة.
- تسجيل الدخول وتسجيل الخروج: جلسات مستخدم آمنة.
- إعادة تعيين كلمة المرور: يمكن للمستخدمين طلب رابط إعادة تعيين كلمة المرور عبر البريد الإلكتروني.
- التحقق من البريد الإلكتروني: (اختياري) يتطلب من المستخدمين التحقق من عنوان بريدهم الإلكتروني بعد التسجيل. لتمكين ذلك، تأكد من أن نموذج
App\Models\Userالخاص بك ينفذ الواجهةIlluminate\Contracts\Auth\MustVerifyEmailوقم بتكوين برنامج تشغيل البريد الخاص بك. - تأكيد كلمة المرور: ميزة أمان تطلب من المستخدمين إعادة إدخال كلمة المرور الخاصة بهم قبل الوصول إلى أجزاء حساسة من التطبيق.
الملفات والمواقع الرئيسية: #
- المسارات (Routes): ستجد مسارات المصادقة في
routes/auth.php. يتم تحميلها تلقائيًا بواسطةRouteServiceProvider. - وحدات التحكم (Controllers): يقع منطق المصادقة في
app/Http/Controllers/Auth/. - طرق العرض (Views) (لتقنية Blade): توجد جميع طرق عرض المصادقة في
resources/views/auth/. يتم العثور على التخطيط الرئيسي عادةً فيresources/views/layouts/guest.blade.php(لصفحات المصادقة) وresources/views/layouts/app.blade.php(لل لوحات تحكم المستخدمين المصادق عليهم).
التخصيص #
تتمثل إحدى نقاط قوة Breeze في سهولة تخصيصه. نظرًا لأنه ينشر جميع موارده، لديك تحكم كامل في المظهر والوظائف، بالإضافة إلى المنطق الأساسي.
تخصيص طرق العرض #
إذا قمت بتثبيت تقنية Blade، يمكنك تعديل قوالب Blade مباشرة في resources/views/auth/ لتتناسب مع تصميم تطبيقك.
على سبيل المثال، لتغيير مظهر صفحة تسجيل الدخول، ما عليك سوى تحرير resources/views/auth/login.blade.php.
تخصيص وحدات التحكم والمنطق #
وحدات التحكم الخاصة بالمصادقة في app/Http/Controllers/Auth/ هي وحدات تحكم Laravel عادية. يمكنك تعديل طرقها لتغيير سلوك التسجيل، تسجيل الدخول، وما إلى ذلك. على سبيل المثال، قد ترغب في إضافة حقول إضافية إلى عملية التسجيل، مما يستلزم تعديل RegisteredUserController وطريقة العرض والترحيل المقابلة.
تخصيص المسارات #
المسارات المحددة في routes/auth.php هي مسارات Laravel قياسية. يمكنك إضافتها أو إزالتها أو تعديلها حسب الحاجة. على سبيل المثال، إذا كنت ترغب في تغيير مسار URL لتسجيل الدخول من /login إلى /sign-in، فسوف تقوم بتعديل تعريف المسار في هذا الملف.
الخلاصة #
يوفر Laravel Breeze نقطة بداية ممتازة وخفيفة الوزن لإضافة المصادقة إلى تطبيقات Laravel الخاصة بك. بساطته ومرونته، جنبًا إلى جنب مع اختيار تقنيات الواجهة الأمامية الشائعة، تجعله أداة متعددة الاستخدامات للمطورين. باتباع هذا الدليل، يجب أن يكون لديك الآن نظام مصادقة فعال بالكامل والمعرفة اللازمة لتخصيصه ليناسب متطلبات مشروعك الخاصة. ترميز سعيد!