تخطَّ إلى المحتوى

مقدمة في Laravel وتثبيته

الدرس 1 من 11 · Laravel

بعد أن تتعلم PHP، ستكتشف أن بناء موقع كامل من الصفر يحتاج كوداً كثيراً ومتكرراً: تسجيل دخول، وقواعد بيانات، وحماية من الاختراق، وتنظيم للملفات. Laravel يوفر عليك كل هذا. في هذا الدرس ستعرف ما هو إطار العمل، ولماذا يحب المطورون Laravel، وكيف تنشئ أول مشروع.

ما هو إطار العمل (Framework)؟

Section titled “ما هو إطار العمل (Framework)؟”

إطار العمل مجموعة جاهزة من الأدوات والقواعد والكود المكتوب مسبقاً، تبني فوقها تطبيقك بدلاً من أن تبدأ من الصفر.

تخيّل أنك تريد بناء بيت. يمكنك أن تصنع الطوب بنفسك، وتخلط الإسمنت، وتصمم كل شيء من البداية. أو يمكنك أن تبدأ بـ هيكل خرساني جاهز مصمم بمعايير هندسية سليمة، ثم تبني الغرف وتختار الديكور كما تشاء. إطار العمل هو هذا الهيكل الجاهز.

Laravel إطار عمل مجاني ومفتوح المصدر للغة PHP، أطلقه المطور تايلور أوتويل (Taylor Otwell) عام 2011. ويُعد اليوم أشهر إطار عمل PHP في العالم.

لماذا يحبه المطورون؟

  • كود أنيق وواضح: شعار Laravel أنه «إطار عمل لحرفيي الويب»، وكوده سهل القراءة.
  • أدوات جاهزة لكل شيء: تسجيل الدخول، وإرسال الإيميلات، والتعامل مع قواعد البيانات، ورفع الملفات.
  • الحماية: يحمي تطبيقك تلقائياً من هجمات شائعة كثيرة.
  • مجتمع ضخم وتوثيق ممتاز: أي مشكلة ستجد لها حلاً.
  • أداة Artisan: أوامر جاهزة في الطرفية تنشئ لك الملفات وتنفّذ المهام بسطر واحد.

Laravel ينظّم كودك بنمط مشهور اسمه MVC، وهو اختصار لثلاثة أجزاء:

  • Model (النموذج): يتعامل مع البيانات وقاعدة البيانات. مثلاً: نموذج «المنتج» يعرف كيف يحفظ المنتجات ويجلبها.
  • View (العرض): ما يراه المستخدم: صفحات HTML. وفي Laravel تُكتب بنظام قوالب اسمه Blade.
  • Controller (المتحكم): الوسيط الذي يستقبل طلب المستخدم، ويطلب البيانات من الـ Model، ثم يرسلها إلى الـ View.

لنعد إلى تشبيه المطعم: الـ Controller هو النادل الذي يأخذ طلبك، والـ Model هو المطبخ والمخزن حيث المكونات، والـ View هو الطبق المقدَّم لك بشكل جميل. كل واحد له دور واضح، فيبقى المطعم منظماً حتى لو كبر.

لتأخذ فكرة: هذا مسار (Route) يعرض رسالة عندما يزور المستخدم الصفحة /hello:

routes/web.php
<?php
use Illuminate\Support\Facades\Route;
Route::get('/hello', function () {
return 'مرحباً من Laravel!';
});

عندما تفتح http://localhost:8000/hello في المتصفح، ستظهر الجملة. اقرأ الكود كجملة: «عندما يطلب المستخدم الصفحة /hello بطريقة GET، أرجِع له هذا النص». سنتعلم المسارات بالتفصيل في الدرس القادم.

  1. PHP بإصدار حديث (راجع التوثيق الرسمي لـ Laravel لمعرفة أقل إصدار مطلوب حالياً).
  2. Composer: مدير الحزم الخاص بـ PHP. وظيفته أن ينزّل المكتبات التي يحتاجها مشروعك ويرتبها، مثل متجر التطبيقات لكن للمكتبات البرمجية.
  3. محرر كود مثل VS Code.

بعد تثبيت PHP و Composer، افتح الطرفية واكتب:

نافذة طرفيّة
composer create-project laravel/laravel my-app
cd my-app
php artisan serve
  • السطر الأول ينزّل Laravel وينشئ مشروعاً جديداً اسمه my-app بكل ملفاته.
  • السطر الثاني يدخل إلى مجلد المشروع.
  • السطر الثالث يشغّل خادم تطوير صغير.

ثم افتح المتصفح على العنوان http://localhost:8000، وسترى صفحة الترحيب الخاصة بـ Laravel.

نظرة على مجلدات المشروع

Section titled “نظرة على مجلدات المشروع”
المجلد ماذا فيه؟
app/ قلب التطبيق: الـ Models والـ Controllers
routes/ ملفات المسارات، وأهمها web.php
resources/views/ صفحات العرض بقوالب Blade
database/ ملفات إنشاء جداول قاعدة البيانات
public/ الملفات العامة مثل الصور و CSS

لا تحاول فهم كل الملفات الآن. ستتعرف عليها واحداً تلو الآخر مع تقدمك.

  1. أنشئ مشروعاً جديداً بالأوامر السابقة وشغّله.
  2. افتح ملف routes/web.php وأضف مسار /hello من مثال هذا الدرس.
  3. افتح http://localhost:8000/hello وتأكد أن الرسالة تظهر.
  4. غيّر الرسالة واحفظ الملف، ثم حدّث الصفحة.
  • البدء بـ Laravel قبل PHP: ستشعر أن كل شيء «سحر» غير مفهوم. أتقن أساسيات PHP أولاً.
  • تشغيل الأوامر خارج مجلد المشروع: أوامر php artisan تعمل فقط داخل مجلد مشروع Laravel.
  • إصدار PHP قديم: إذا ظهر خطأ عند الإنشاء، تحقق من إصدارك بـ php -v وقارنه بمتطلبات Laravel.

سؤال

في نمط MVC، ما وظيفة الـ Controller؟

سؤال

ما الأمر الذي يشغّل خادم التطوير في مشروع Laravel؟

  • إطار العمل هيكل جاهز من الأدوات والقواعد تبني فوقه تطبيقك.
  • Laravel أشهر إطار عمل PHP، وكوده أنيق ومليء بالأدوات الجاهزة.
  • ينظّم الكود بنمط MVC: Model للبيانات، و View للعرض، و Controller للربط.
  • تحتاج PHP و Composer، وتنشئ المشروع بـ composer create-project.
  • php artisan serve يشغّل المشروع على localhost:8000.