خارطة طريق تعلّم Laravel من الصفر: خطوات مرتبة وأخطاء المبتدئين
خارطة طريق تعلّم Laravel للمبتدئين: ترتيب عملي للخطوات من التثبيت حتى الاختبارات، مع الأخطاء الشائعة التي تضيّع وقتك وكيف تتجنبها.
كثير من المبتدئين يبدأ بـ Laravel ثم يتوقف بعد أسابيع، ليس لأن الإطار صعب، بل لأنه كبير ولا يعرف من أين يبدأ ولا ماذا يؤجّل. في هذا المقال أرتّب لك مسار تعلّم عملياً، مبنياً على ما تنصح به وثائق Laravel 13.x نفسها، مع تحديد ما يجب تعلّمه الآن وما يمكن تأجيله، وأبرز الأخطاء التي تتكرر عند المبتدئين.
كيف تتعلم Laravel؟ ابدأ بما تحتاجه فعلاً
لا تحتاج أن تكون محترف PHP، لكن تحتاج أساسيات اللغة: المتغيرات، المصفوفات، الدوال، الأصناف (classes) والـ namespaces. هذه الأخيرة تحديداً تظهر في كل ملف Laravel، فإن لم تفهمها ستبدو لك الأكواد سحراً.
أما البيئة، فالوثائق تذكر أنك تحتاج PHP وComposer وأداة Laravel installer، إضافة إلى Node وNPM (أو Bun) لبناء ملفات الواجهة. وهناك طريقتان سهلتان:
- أمر واحد من موقع
php.newيثبّت PHP وComposer والـ installer على macOS أو Windows أو Linux. - أو Laravel Herd، وهو بيئة PHP جاهزة لنظامي macOS وWindows، وتأتي معه أداة
laravelوComposer وNode.
المرحلة 1: أنشئ أول مشروع وافهم هيكله
أنشئ مشروعاً وشغّله:
laravel new example-app
cd example-app
npm install && npm run build
composer run dev
بعدها يعمل التطبيق على http://localhost:8000. لاحظ أن المشروع الجديد يستخدم SQLite افتراضياً، وقد أنشأ Laravel ملف القاعدة وشغّل الـ migrations نيابةً عنك، فلا تحتاج لتثبيت MySQL في البداية.
قبل أن تكتب كوداً، اقرأ ما تضعه الوثائق تحت "الخطوات التالية": دورة حياة الطلب (Request Lifecycle)، والإعدادات (Configuration)، وهيكل المجلدات، وحاوية الخدمات (Service Container)، والـ Facades. لا تحاول حفظها، يكفي أن تكوّن صورة عامة ثم تعود إليها.
المرحلة 2: الأساسيات التي تبني عليها كل شيء
بهذا الترتيب تقريباً:
- Routing: كيف يتحول عنوان URL إلى كود.
- Controllers وViews/Blade: عرض صفحة تعتمد على بيانات.
- Migrations وEloquent: تعريف الجداول والتعامل معها كأصناف PHP، ثم العلاقات (relationships).
- Validation وForm Requests: لا تثق أبداً بمدخلات المستخدم.
- Authentication: لا تبنِها من الصفر في البداية، استخدم Starter Kit.
استخدم Starter Kit بدل بناء تسجيل الدخول
توفّر Laravel Starter Kits لـ React وSvelte وVue وLivewire، وتعتمد كلها على Laravel Fortify في المصادقة. تشمل مسارات تسجيل الدخول والتسجيل واستعادة كلمة المرور والتحقق من البريد والمصادقة الثنائية. ميزتها أن الكود كله داخل مشروعك، فتستطيع قراءته وتعديله، وهذا بحد ذاته درس ممتاز.
أي واحد تختار؟ إن كنت قادماً من PHP وBlade وتريد واجهة ديناميكية بلا الكثير من JavaScript، فـ Livewire مناسب (تقول الوثائق إنه خيار جيد للفرق التي تعتمد Blade). وإن كنت تعرف React أو Vue أو Svelte، فهي تعمل عبر Inertia.
المرحلة 3: ابنِ مشروعاً صغيراً كاملاً
القراءة وحدها لا تكفي. اختر مشروعاً صغيراً وأنهِه: قائمة مهام، مدوّنة، تتبع مصاريف. المطلوب فيه:
- مستخدمون مسجّلون، وكل مستخدم يرى بياناته فقط.
- جدولان على الأقل بينهما علاقة.
- نموذج إدخال مع validation.
- نشره على سيرفر حقيقي (لدينا في المدونة شروحات عن النشر على Render مع Neon والنشر المجاني على InfinityFree).
المشروع المنشور يعلّمك ما لا تعلّمه الدروس: متغيرات البيئة، وملف .env الذي تؤكد الوثائق أنه يجب ألا يُرفع إلى مستودع الكود لأنه يحتوي بيانات حساسة.
المرحلة 4: الاختبارات ولا تؤجلها كثيراً
Laravel مبني مع مراعاة الاختبار، ويدعم Pest وPHPUnit مباشرة. تشغّل الاختبارات بأحد الأوامر vendor/bin/pest أو vendor/bin/phpunit أو:
php artisan make:test UserTest
php artisan test
تنصح الوثائق بأن يكون أغلب اختباراتك من نوع Feature، لأنها تعطي أكبر ثقة بأن النظام يعمل ككل، وتختبر مثلاً طلب HTTP كاملاً. ابدأ باختبار واحد لكل مسار مهم في مشروعك الصغير.
المرحلة 5: الأدوات المتقدمة بحسب حاجتك
بعد أن تستقر الأساسيات، اختر ما يخدم مشروعك: الـ Queues للمهام الثقيلة، والـ Scheduler، والـ Cache، وبناء API مع Sanctum. وإن أردت العمل مع الذكاء الاصطناعي فهناك Laravel Boost الذي يعطي وكلاء البرمجة سياقاً خاصاً بإصدارات الحزم في مشروعك، ويُثبَّت كاعتماد تطويري عبر composer require laravel/boost --dev ثم php artisan boost:install.
كيف توزّع وقتك: خطة أسبوعية مقترحة
هذا اقتراح شخصي وليس توصية رسمية، عدّله بحسب وقتك:
- الأسبوع الأول: التثبيت، وهيكل المشروع، وRouting وBlade. الهدف صفحتان تعرضان بيانات ثابتة.
- الأسبوع الثاني: الـ migrations وEloquent والعلاقات. الهدف إضافة سجلات وعرضها من القاعدة.
- الأسبوع الثالث: النماذج والـ validation والمصادقة عبر Starter Kit.
- الأسبوع الرابع: إكمال المشروع الصغير ونشره وكتابة أول اختبارات Feature.
معيار النجاح ليس عدد الدروس التي شاهدتها، بل أن يكون لديك رابط مشروع يعمل تستطيع أن تريه لغيرك، وأن تشرح لنفسك كيف يمرّ الطلب من المتصفح حتى القاعدة والعودة.
أخطاء شائعة للمبتدئين
- القفز بين الدورات: تبدأ خمس دورات ولا تُنهي مشروعاً. اختر مصدراً أساسياً (الوثائق الرسمية مع Laracasts مثلاً) والتزم به.
- نسخ الكود دون فهمه: اسأل نفسك لماذا يعمل، وجرّب كسره عمداً لترى الخطأ.
- تعلّم الحزم قبل الإطار: لا تضف Livewire وFilament وInertia معاً قبل أن تفهم Routing وEloquent.
- كتابة المنطق كله في الـ Controller: يعمل في البداية، لكنه يصعّب الاختبار والتعديل لاحقاً. انقل المنطق تدريجياً إلى أصناف مستقلة عندما يكبر.
- تجاهل مشكلة N+1: حلقة تقرأ علاقة لكل سجل تولّد استعلاماً لكل سجل. تعلّم الـ eager loading مبكراً، وقد شرحنا ذلك في مقال N+1 في Laravel.
- رفع
.envإلى GitHub: خطأ أمني شائع، تأكد أنه خارج المستودع. - ترك الأخطاء بلا قراءة: رسالة الخطأ في Laravel مفصّلة جداً، اقرأها من أولها قبل أن تبحث في Google.
خلاصة وخطوة عملية
الترتيب باختصار: بيئة وتثبيت، ثم Routing وBlade وEloquent وValidation، ثم Starter Kit للمصادقة، ثم مشروع صغير منشور، ثم الاختبارات، ثم الأدوات المتقدمة بحسب الحاجة. خطوتك اليوم: نفّذ laravel new، وشغّل composer run dev، وأضف صفحة جديدة بمسار وview واحد. لا تنتظر أن "تكمل التحضير".