مقدمة في Laravel وتثبيته
بعد أن تتعلم PHP، ستكتشف أن بناء موقع كامل من الصفر يحتاج كوداً كثيراً ومتكرراً: تسجيل دخول، وقواعد بيانات، وحماية من الاختراق، وتنظيم للملفات. Laravel يوفر عليك كل هذا. في هذا الدرس ستعرف ما هو إطار العمل، ولماذا يحب المطورون Laravel، وكيف تنشئ أول مشروع.
ما هو إطار العمل (Framework)؟
Section titled “ما هو إطار العمل (Framework)؟”إطار العمل مجموعة جاهزة من الأدوات والقواعد والكود المكتوب مسبقاً، تبني فوقها تطبيقك بدلاً من أن تبدأ من الصفر.
تخيّل أنك تريد بناء بيت. يمكنك أن تصنع الطوب بنفسك، وتخلط الإسمنت، وتصمم كل شيء من البداية. أو يمكنك أن تبدأ بـ هيكل خرساني جاهز مصمم بمعايير هندسية سليمة، ثم تبني الغرف وتختار الديكور كما تشاء. إطار العمل هو هذا الهيكل الجاهز.
ما هو Laravel؟
Section titled “ما هو Laravel؟”Laravel إطار عمل مجاني ومفتوح المصدر للغة PHP، أطلقه المطور تايلور أوتويل (Taylor Otwell) عام 2011. ويُعد اليوم أشهر إطار عمل PHP في العالم.
لماذا يحبه المطورون؟
- كود أنيق وواضح: شعار Laravel أنه «إطار عمل لحرفيي الويب»، وكوده سهل القراءة.
- أدوات جاهزة لكل شيء: تسجيل الدخول، وإرسال الإيميلات، والتعامل مع قواعد البيانات، ورفع الملفات.
- الحماية: يحمي تطبيقك تلقائياً من هجمات شائعة كثيرة.
- مجتمع ضخم وتوثيق ممتاز: أي مشكلة ستجد لها حلاً.
- أداة Artisan: أوامر جاهزة في الطرفية تنشئ لك الملفات وتنفّذ المهام بسطر واحد.
فكرة MVC
Section titled “فكرة MVC”Laravel ينظّم كودك بنمط مشهور اسمه MVC، وهو اختصار لثلاثة أجزاء:
- Model (النموذج): يتعامل مع البيانات وقاعدة البيانات. مثلاً: نموذج «المنتج» يعرف كيف يحفظ المنتجات ويجلبها.
- View (العرض): ما يراه المستخدم: صفحات HTML. وفي Laravel تُكتب بنظام قوالب اسمه Blade.
- Controller (المتحكم): الوسيط الذي يستقبل طلب المستخدم، ويطلب البيانات من الـ Model، ثم يرسلها إلى الـ View.
لنعد إلى تشبيه المطعم: الـ Controller هو النادل الذي يأخذ طلبك، والـ Model هو المطبخ والمخزن حيث المكونات، والـ View هو الطبق المقدَّم لك بشكل جميل. كل واحد له دور واضح، فيبقى المطعم منظماً حتى لو كبر.
شكل الكود في Laravel
Section titled “شكل الكود في Laravel”لتأخذ فكرة: هذا مسار (Route) يعرض رسالة عندما يزور المستخدم الصفحة /hello:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/hello', function () { return 'مرحباً من Laravel!';});عندما تفتح http://localhost:8000/hello في المتصفح، ستظهر الجملة. اقرأ الكود كجملة: «عندما يطلب المستخدم الصفحة /hello بطريقة GET، أرجِع له هذا النص». سنتعلم المسارات بالتفصيل في الدرس القادم.
ماذا تحتاج للتثبيت؟
Section titled “ماذا تحتاج للتثبيت؟”- PHP بإصدار حديث (راجع التوثيق الرسمي لـ Laravel لمعرفة أقل إصدار مطلوب حالياً).
- Composer: مدير الحزم الخاص بـ PHP. وظيفته أن ينزّل المكتبات التي يحتاجها مشروعك ويرتبها، مثل متجر التطبيقات لكن للمكتبات البرمجية.
- محرر كود مثل VS Code.
إنشاء أول مشروع
Section titled “إنشاء أول مشروع”بعد تثبيت PHP و Composer، افتح الطرفية واكتب:
composer create-project laravel/laravel my-appcd my-appphp artisan serve- السطر الأول ينزّل Laravel وينشئ مشروعاً جديداً اسمه
my-appبكل ملفاته. - السطر الثاني يدخل إلى مجلد المشروع.
- السطر الثالث يشغّل خادم تطوير صغير.
ثم افتح المتصفح على العنوان http://localhost:8000، وسترى صفحة الترحيب الخاصة بـ Laravel.
نظرة على مجلدات المشروع
Section titled “نظرة على مجلدات المشروع”| المجلد | ماذا فيه؟ |
|---|---|
app/ |
قلب التطبيق: الـ Models والـ Controllers |
routes/ |
ملفات المسارات، وأهمها web.php |
resources/views/ |
صفحات العرض بقوالب Blade |
database/ |
ملفات إنشاء جداول قاعدة البيانات |
public/ |
الملفات العامة مثل الصور و CSS |
لا تحاول فهم كل الملفات الآن. ستتعرف عليها واحداً تلو الآخر مع تقدمك.
جرّب بنفسك
Section titled “جرّب بنفسك”- أنشئ مشروعاً جديداً بالأوامر السابقة وشغّله.
- افتح ملف
routes/web.phpوأضف مسار/helloمن مثال هذا الدرس. - افتح
http://localhost:8000/helloوتأكد أن الرسالة تظهر. - غيّر الرسالة واحفظ الملف، ثم حدّث الصفحة.
أخطاء شائعة
Section titled “أخطاء شائعة”- البدء بـ Laravel قبل PHP: ستشعر أن كل شيء «سحر» غير مفهوم. أتقن أساسيات PHP أولاً.
- تشغيل الأوامر خارج مجلد المشروع: أوامر
php artisanتعمل فقط داخل مجلد مشروع Laravel. - إصدار PHP قديم: إذا ظهر خطأ عند الإنشاء، تحقق من إصدارك بـ
php -vوقارنه بمتطلبات Laravel.
اختبر نفسك
Section titled “اختبر نفسك”سؤال
في نمط MVC، ما وظيفة الـ Controller؟
الـ Controller هو الوسيط: يستقبل الطلب، ويجلب البيانات من الـ Model، ويرسلها للـ View.
سؤال
ما الأمر الذي يشغّل خادم التطوير في مشروع Laravel؟
php artisan serve يشغّل خادماً محلياً، عادة على العنوان localhost:8000.
الخلاصة
Section titled “الخلاصة”- إطار العمل هيكل جاهز من الأدوات والقواعد تبني فوقه تطبيقك.
- Laravel أشهر إطار عمل PHP، وكوده أنيق ومليء بالأدوات الجاهزة.
- ينظّم الكود بنمط MVC: Model للبيانات، و View للعرض، و Controller للربط.
- تحتاج PHP و Composer، وتنشئ المشروع بـ
composer create-project. php artisan serveيشغّل المشروع علىlocalhost:8000.