- بواسطة x32x01 ||
لو بتستخدم Laravel وبتعتمد على Packages جاهزة زي Spatie، فغالبًا فكرت قبل كده: إزاي أعمل Laravel Package بنفسي؟
الموضوع أبسط مما يبدو، لكن محتاج تفهم شوية أساسيات في Structure بتاعة Laravel وطريقة تعامل Framework مع الـ Packages.
في الفيديو العملي ده، هتتعلم إزاي تبني Laravel Package من الصفر، وتجهزها للاستخدام داخل مشاريعك، وبعد كده تختبرها وترفعها على GitHub وPackagist. 🛠️
الميزة دي بتخلي Laravel تقدر تتعرف على الـ Service Provider الخاص بالـ Package تلقائيًا، من غير ما المستخدم يحتاج يضيفه يدويًا في إعدادات المشروع.
وده من الأسباب اللي بتخلي تثبيت واستخدام Packages في Laravel بسيط جدًا.
ممكن تخليها تحتوي على أجزاء متكاملة، مثل:
هتتعلم إزاي تعمل Local Testing للباكدج وتجربها داخل مشروع Laravel، وتكتشف أي مشاكل قبل نشرها.
وده مهم جدًا خصوصًا لو الباكدج هتكون Public وناس تانية هتعتمد عليها.
هتتعلم إزاي ترفع الـ Package على GitHub، وبعدها تربطها بـ Packagist بحيث يقدر أي مطور يثبتها باستخدام Composer.
وبدل ما المستخدم ينسخ الملفات يدويًا، يقدر يضيف الباكدج لمشروعه باستخدام أمر Composer مناسب. 📦
أنت كمان هتتعلم من خلالها إزاي:
لو بتخطط تعمل Package خاصة بيك، حاول وأنت بتتفرج تطبق الخطوات على فكرة حقيقية عندك بدل ما تكتفي بالمشاهدة. ده هيساعدك تفهم الـ Workflow بشكل أسرع. 🚀
ممكن تكون أداة صغيرة بتحل مشكلة متكررة، أو Package أكبر فيها Features قابلة لإعادة الاستخدام.
يمكن فكرتك تكون بداية مشروع Open Source مفيد لمطورين تانيين. 🌟
الموضوع أبسط مما يبدو، لكن محتاج تفهم شوية أساسيات في Structure بتاعة Laravel وطريقة تعامل Framework مع الـ Packages.
في الفيديو العملي ده، هتتعلم إزاي تبني Laravel Package من الصفر، وتجهزها للاستخدام داخل مشاريعك، وبعد كده تختبرها وترفعها على GitHub وPackagist. 🛠️
إيه اللي هتتعلمه؟
🏗️ فهم Structure بتاعة Laravel Package
هتتعرف على دور فولدرsrc داخل الـ Package، وإزاي بيكون المكان الأساسي اللي بتحط فيه كود الباكدج، زي:- Controllers
- Services
- Models
- Service Providers
⚙️ فهم Laravel Auto-Discovery
من أهم الحاجات في Laravel Packages هي Auto-Discovery.الميزة دي بتخلي Laravel تقدر تتعرف على الـ Service Provider الخاص بالـ Package تلقائيًا، من غير ما المستخدم يحتاج يضيفه يدويًا في إعدادات المشروع.
وده من الأسباب اللي بتخلي تثبيت واستخدام Packages في Laravel بسيط جدًا.
🧩 إضافة Routes وViews وConfigurations
مش لازم الـ Package تكون مجرد مجموعة Classes.ممكن تخليها تحتوي على أجزاء متكاملة، مثل:
RoutesViewsConfigurationMigrationsModels
🧪 اختبار الـ Package محليًا
قبل ما ترفع الـ Package وتشاركها مع مبرمجين تانيين، لازم تتأكد إنها شغالة بشكل صحيح.هتتعلم إزاي تعمل Local Testing للباكدج وتجربها داخل مشروع Laravel، وتكتشف أي مشاكل قبل نشرها.
وده مهم جدًا خصوصًا لو الباكدج هتكون Public وناس تانية هتعتمد عليها.
🚀 رفع الـ Package على GitHub وPackagist
بعد الانتهاء من التطوير والاختبار، الخطوة الأخيرة هي تجهيز المشروع للنشر.هتتعلم إزاي ترفع الـ Package على GitHub، وبعدها تربطها بـ Packagist بحيث يقدر أي مطور يثبتها باستخدام Composer.
وبدل ما المستخدم ينسخ الملفات يدويًا، يقدر يضيف الباكدج لمشروعه باستخدام أمر Composer مناسب. 📦
ليه تتعلم إنشاء Laravel Packages؟
إنشاء Package خاصة بيك مش مجرد طريقة لنشر كود على الإنترنت.أنت كمان هتتعلم من خلالها إزاي:
- تنظم الكود بشكل أفضل.
- تفصل أجزاء المشروع عن بعضها.
- تعيد استخدام نفس الكود في مشاريع مختلفة.
- تفهم Service Providers بشكل أعمق.
- تتعامل مع Composer وPackage Management.
- تطور كود قابل لإعادة الاستخدام.
- تبدأ بشكل عملي في عالم Open Source.
🎥 شاهد الشرح العملي
الفيديو بيبدأ من الصفر ويمشي معاك خطوة بخطوة في بناء Laravel Package واختبارها وتجهيزها للنشر.
💬 إيه الـ Package اللي نفسك تعملها؟
لو عندك فكرة Package ممكن تفيد مطوري Laravel، شاركها في التعليقات.ممكن تكون أداة صغيرة بتحل مشكلة متكررة، أو Package أكبر فيها Features قابلة لإعادة الاستخدام.
يمكن فكرتك تكون بداية مشروع Open Source مفيد لمطورين تانيين. 🌟
