أساسيات Magento 2 للمبتدئين
تعلّم Magento 2 خطوة بخطوة من الـ Architecture إلى أهم المفاهيم العملية التي يحتاجها أي Magento Developer
المدرّب: Mohamed Tawfik ·
التصنيف: كورسات مميزة ·
المستوى: Beginner ·
اللغة: AR
الدروس: 20 ·
الطلاب: 12 ·
التقييم: 4.60/5 (10 مراجعة) ·
السعر:
مجاني
وصف الكورس
في هذا الكورس هنتعلم أساسيات Magento 2 بشكل بسيط وعملي ومناسب للمبتدئين. هنبدأ بفهم Magento 2 Architecture وطريقة عمل النظام من الداخل، وبعدها ننتقل لأهم المفاهيم التي يحتاجها أي مطور Magento مثل Module Structure و Dependency Injection و Design Patterns و Service Contracts و Routing and Controllers و Layout XML و Blocks و Templates.
كمان هنتكلم عن EAV و Database in Magento 2 و Repositories و CRUD Operations و Extension Attributes و Events و Observers و Plugins و Cache and Indexing و Cron Jobs و REST API / GraphQL Basics و Admin Configuration و Debugging و Best Practices.
الكورس مناسب لأي شخص يريد دخول مجال Magento 2 بشكل صحيح وبناء أساس قوي يساعده في الشغل العملي وفي مقابلات العمل أيضًا.
ماذا ستتعلم
- فهم Magento 2 Architecture بشكل واضح
- إنشاء Module بسيط في Magento 2
- فهم Dependency Injection و Service Contracts
- التعامل مع Routing و Controllers و Layout XML
- فهم EAV و Database structure في Magento 2
- استخدام Repositories و CRUD Operations بشكل صحيح
- فهم Plugins و Observers و Preferences
- التعامل مع Cache و Indexing و Cron Jobs
- معرفة أساسيات REST API و GraphQL في Magento 2
- تطبيق Best Practices تساعدك في الشغل الحقيقي
المتطلبات
- معرفة أساسية بـ PHP و OOP
- فهم بسيط لـ XML و structure الملفات
- معرفة عامة بكيفية عمل مواقع التجارة الإلكترونية
- يفضل وجود تجربة سابقة بسيطة مع Magento أو Composer
- وجود بيئة Magento 2 للتطبيق العملي سيكون مفيدًا
محتوى الكورس
مقدمة وأساسيات Magento 2
- Magento 2 Architecture (3 min)
- Module Structure in Magento 2 (2 min)
- Dependency Injection in Magento 2 (3 min)
- Magento Design Patterns (2 min)
- Service Contracts in Magento 2 (2 min)
التعامل مع الـ Request والواجهة الداخلية للنظام
- Plugins, Observers, Preferences (2 min)
- Routing and Controllers (2 min)
- Layout XML, Blocks, and Templates (2 min)
البيانات وقاعدة البيانات في Magento 2
- EAV in Magento 2 (3 min)
- Database in Magento 2 (2 min)
- Repositories and CRUD Operations (2 min)
- Extension Attributes (2 min)
التطوير العملي والتوسعة داخل Magento 2
- Events and Observers (2 min)
- Plugin عملي (3 min)
الأداء والمهام الخلفية والـ APIs
- Cache and Indexing (2 min)
- Cron Jobs (3 min)
- REST API / GraphQL Basics (2 min)
الإعدادات والـ Debugging وأفضل الممارسات
- Admin Configuration (3 min)
- Debugging Magento 2 (2 min)
- Best Practices for Magento 2 Developer (3 min)
أسئلة مقابلات يغطيها الكورس
1. ما هو Magento 2 وكيف يختلف عن Magento 1؟
Magento 2 هي منصة تجارة إلكترونية مفتوحة المصدر مبنية بلغة PHP. تمت إعادة كتابتها بالكامل مقارنةً بـ Magento 1 مع تحسينات جوهرية تشمل: أداء أسرع وبنية أكثر قابلية للتوسع، دعم حقن التبعيات (Dependency Injection) بشكل كامل، نظام CLI قوي عبر `bin/magento`، دعم أطر اختبار مثل PHPUnit، واجهة مستخدم أحدث مبنية على Knockout.js، ودعم أفضل للـ API عبر REST وGraphQL.
2. ما هو الموديول (Module) في Magento 2 وما الملفات الأساسية التي يحتاجها؟
الموديول هو مجموعة منطقية من الكود تتعلق بميزة تجارية محددة. يحتاج على الحد الأدنى إلى ملفين: `app/code/Vendor/Module/registration.php` الذي يُسجّل الموديول في النظام، و`app/code/Vendor/Module/etc/module.xml` الذي يعرّف اسم الموديول وإصداره والموديولات التي يعتمد عليها.
3. ما هو حقن التبعيات (Dependency Injection) في Magento 2 وكيف يعمل؟
حقن التبعيات هو نمط تصميم تحصل فيه الكلاسات على تبعياتها من الخارج بدلاً من إنشائها داخلياً. في Magento 2، يتم التهيئة عبر ملفات `di.xml`. تُعلن عن التبعيات كمعاملات في الـ constructor، ويقوم الـ ObjectManager بحلها وحقنها تلقائياً عند إنشاء الكائن. هذا يجعل الكود أكثر قابلية للاختبار والتعديل.
4. ما الفرق بين Plugin و Observer في Magento 2؟
الـ Plugin (المعترض) يتيح تشغيل كود قبل أو بعد أو حول أي method عامة (public) في أي class دون تغيير الكلاس الأصلي. يُهيَّأ في `di.xml`. أما الـ Observer فيستمع إلى أحداث محددة تُطلَق عبر `$this->_eventManager->dispatch()` ويستجيب لها. يُسجَّل في `events.xml`. الـ Plugins أكثر مرونة لأنها تعمل مع أي method عامة دون الحاجة لحدث صريح.
5. ما الفرق بين الـ Plugin types: before وafter وaround؟
`before` Plugin: يعمل قبل تنفيذ الـ method ويمكنه تعديل المعاملات (arguments) الممررة إليها.\n`after` Plugin: يعمل بعد تنفيذ الـ method ويمكنه تعديل قيمة الإرجاع (return value).\n`around` Plugin: يُغلّف تنفيذ الـ method بالكامل ويستلمها كـ callable اسمه `$proceed`. يمكنه تشغيل كود قبل وبعد الاستدعاء الأصلي، أو حتى تخطيه كلياً. استخدم `around` بحذر لأنه الأثقل من حيث الأداء.