recent
أخبار ساخنة

تجهيز بيئة العمل وتثبيت لارافيل Laravel

تجهيز بيئة العمل وتثبيت لارافيل 2

تجهيز بيئة العمل وتثبيت Laravel وإنشاء أول مشروع

بعد أن تعرفنا في الدرس الأول على Laravel وفهمنا لماذا يستخدمه المطورون لبناء تطبيقات الويب، حان الوقت للانتقال إلى الجانب العملي.

في هذا الدرس سنقوم بتجهيز جهاز الكمبيوتر حتى يصبح قادرًا على تشغيل مشاريع Laravel، وسنتعرف على الأدوات التي نحتاج إليها، ثم سنتأكد من أن كل أداة تعمل بالشكل الصحيح، وبعد ذلك سننشئ أول مشروع Laravel ونقوم بتشغيله وفتحه من المتصفح.

قد يبدو تثبيت بيئة التطوير أمرًا بسيطًا، لكنه من أهم الخطوات التي يجب أن يتقنها المبتدئ؛ لأن الكثير من المشاكل التي تظهر أثناء تعلم البرمجة تكون بسبب عدم تجهيز البيئة بالشكل الصحيح.

سنشرح الخطوات بطريقة تدريجية، بحيث يفهم الطالب وظيفة كل أداة قبل استخدامها، وليس فقط نسخ الأوامر ولصقها في الطرفية.

في هذا الدرس سنعمل مع الإصدارات الحديثة من Laravel. حاليًا Laravel 13 هو الإصدار الرئيسي الأحدث، وهو يتطلب PHP 8.3 على الأقل، بينما توصي وثائق Laravel الحالية باستخدام PHP و Composer و Laravel Installer، بالإضافة إلى Node.js وNPM أو Bun عند الحاجة إلى بناء ملفات الواجهة الأمامية.

ما الذي نحتاج إليه لتطوير Laravel؟

قبل إنشاء أول مشروع، نحتاج إلى تجهيز عدد من الأدوات الأساسية.

أهم هذه الأدوات هي:

  • PHP.
  • Composer.
  • Laravel Installer.
  • Node.js وNPM أو Bun.
  • محرر أكواد.
  • متصفح ويب.
  • Terminal أ8و PowerShell أو Command Prompt.

كل أداة من هذه الأدوات لها وظيفة مختلفة، ولذلك من المهم أن نفهم دورها.

ما هي PHP؟

كما تعرفنا في الدرس السابق، Laravel مبني باستخدام PHP، ولذلك يجب أن تكون PHP مثبتة على جهاز الكمبيوتر.

PHP هي اللغة التي يعمل فوقها Laravel، ولذلك عندما تقوم بتشغيل تطبيق Laravel، فإن PHP هي التي تقوم بتنفيذ كود التطبيق على الخادم المحلي.

وللتأكد من إصدار PHP المثبت على جهازك، يمكنك فتح Terminal في Linux أو macOS، أو PowerShell في Windows، ثم كتابة:

php -v

إذا كانت PHP مثبتة بشكل صحيح، فستظهر لك معلومات عن إصدارها.

في Laravel 13 يجب أن يكون إصدار PHP هو 8.3 أو أحدث.

ومن الأفضل عند بداية الكورس استخدام إصدار حديث ومدعوم من PHP بدلًا من الاعتماد على إصدار قديم.

ما هو Composer في php ؟

إذا كانت PHP هي لغة البرمجة، فإن Composer هو مدير الحزم الخاص بمشاريع PHP.

تستخدم مشاريع PHP الحديثة Composer لإدارة المكتبات والحزم التي يعتمد عليها المشروع.

Laravel نفسه يعتمد على Composer، ولذلك ستتعامل معه كثيرًا أثناء تطوير تطبيقات Laravel.

يمكن تشبيه Composer تقريبًا بـ npm في عالم JavaScript.

فعندما يحتاج مشروع PHP إلى مكتبة خارجية، يمكن لـ Composer تنزيلها وإدارتها داخل المشروع.

كما يساعد Composer في تحميل مكتبات المشروع تلقائيًا وتنظيم الاعتمادات الخاصة به. وتصف وثائق Laravel التعليمية Composer بأنه مدير حزم PHP وأداة أساسية في تطوير مشاريع PHP الحديثة.

للتأكد من أن Composer مثبت لديك، استخدم:

composer -V

أو:

composer --version

إذا ظهر رقم الإصدار، فهذا يعني أن Composer يعمل بشكل صحيح.

ما هو Laravel Installer؟

Laravel Installer هو أداة سطر أوامر تساعدك على إنشاء مشاريع Laravel جديدة بسهولة.

بعد تثبيته، يمكنك إنشاء مشروع جديد باستخدام الأمر:

laravel new example-app

وهذه هي الطريقة الموصى بها حاليًا في وثائق Laravel لإنشاء تطبيق جديد بعد تجهيز PHP وComposer وLaravel Installer.

إذا كان Laravel Installer غير مثبت، يمكن تثبيته باستخدام Composer:

composer global require laravel/installer

بعد ذلك يمكنك استخدام الأمر:

laravel

للتأكد من أن الأمر أصبح متاحًا في الطرفية.

ماذا عن Node.js و NPM؟

قد يتساءل المبتدئ:

إذا كان Laravel يعتمد على PHP، فلماذا نحتاج إلى Node.js؟

السبب هو أن تطبيقات الويب الحديثة لا تعتمد فقط على PHP.

غالبًا ستحتاج إلى معالجة ملفات CSS وJavaScript وبناء أصول الواجهة الأمامية Frontend Assets.

Laravel يستخدم Vite في عملية تطوير وبناء ملفات الواجهة الأمامية، ولذلك تحتاج إلى Node.js وNPM أو Bun عندما تعمل على هذه الأجزاء من المشروع. وتذكر وثائق Laravel الحالية ضرورة تثبيت Node وNPM أو Bun إلى جانب PHP وComposer لإنشاء بيئة تطوير كاملة.

للتأكد من تثبيت Node.js:

node -v

وللتأكد من تثبيت NPM:

npm -v

إذا ظهرت أرقام الإصدارات، فهذا يعني أن الأدوات متاحة.

ما هو محرر الأكواد؟

نحتاج أيضًا إلى برنامج نستخدمه لكتابة وتعديل ملفات المشروع.

هناك العديد من محررات الأكواد التي يمكنك استخدامها، مثل:

  • Visual Studio Code.
  • PhpStorm.
  • Sublime Text.
  • Zed.
  • Cursor.

للمبتدئ يمكن أن يكون Visual Studio Code خيارًا مناسبًا لأنه سهل الاستخدام ويدعم عددًا كبيرًا من الإضافات.

المهم أن تختار محررًا تشعر بالراحة أثناء استخدامه.

لا تحتاج إلى تغيير محرر الأكواد كل فترة بحثًا عن أفضل أداة.

ركز على تعلم Laravel بدلًا من قضاء وقت طويل في مقارنة الأدوات.

تجهيز Laravel على Windows

إذا كنت تستخدم Windows، فهناك أكثر من طريقة لتجهيز بيئة Laravel.

يمكنك تثبيت PHP وComposer وLaravel Installer بشكل منفصل، أو استخدام أدوات توفر لك بيئة Laravel متكاملة.

ومن الخيارات الرسمية التي توفرها منظومة Laravel أداة Laravel Herd، وهي بيئة تطوير محلية لـ PHP وLaravel تعمل على Windows وmacOS، وتوفر الأدوات اللازمة لتشغيل مشاريع Laravel محليًا.

كما يمكنك استخدام الطريقة التقليدية وتثبيت الأدوات بشكل منفصل.

بعد التثبيت، افتح PowerShell أو Windows Terminal وجرب:

php -v

ثم:

composer -V

ثم:

node -v

ثم:

npm -v

وأخيرًا:

laravel --version

إذا عملت هذه الأوامر دون أخطاء، فأنت قريب جدًا من إنشاء أول مشروع.

تجهيز Laravel على macOS

إذا كنت تستخدم macOS، يمكنك تثبيت الأدوات المطلوبة بالطريقة التقليدية أو الاستفادة من Laravel Herd.

كما توفر وثائق Laravel الحالية طريقة لتثبيت PHP وComposer وLaravel Installer باستخدام أداة php.new.

بعد تجهيز البيئة، افتح Terminal واستخدم:

php -v

ثم:

composer -V

ثم:

node -v

ثم:

npm -v

ثم:

laravel --version

من المهم أن تتأكد من ظهور النتائج قبل الانتقال إلى الخطوة التالية.

تجهيز Laravel على Linux

على Linux يمكنك تثبيت PHP وComposer وبقية الأدوات باستخدام مدير الحزم المناسب لتوزيعتك، أو استخدام الطريقة الرسمية الحديثة التي توفرها Laravel.

وبعد تثبيت الأدوات، استخدم Terminal للتأكد من أنها تعمل:

php -v
composer -V
node -v
npm -v
laravel --version

إذا ظهرت معلومات الإصدارات، فأنت جاهز للبدء.

إنشاء أول مشروع Laravel

بعد الانتهاء من تجهيز البيئة، سنقوم الآن بالخطوة التي انتظرناها.

سننشئ أول مشروع Laravel.

افتح Terminal وانتقل إلى المجلد الذي تريد تخزين مشاريعك بداخله.

ثم نفذ الأمر:

laravel new first-laravel-app

سيقوم Laravel بإنشاء مشروع جديد باسم:

first-laravel-app

يمكنك تغيير الاسم إلى أي اسم تريده.

على سبيل المثال:

laravel new my-blog

أو:

laravel new tech-blog

أو:

laravel new nusur-blog

يفضل عند التعلم أن تختار أسماء واضحة للمشاريع حتى تعرف وظيفة كل مشروع.

ماذا يحدث عند تنفيذ laravel new؟

عندما تنفذ:

laravel new first-laravel-app

يقوم Laravel بإنشاء هيكل مشروع كامل.

وهذا المشروع يحتوي على الملفات والمجلدات الأساسية التي يحتاج إليها تطبيق Laravel.

لن تحتاج إلى إنشاء كل هذه الملفات يدويًا.

وهنا تظهر إحدى فوائد Framework.

بدلًا من بدء المشروع من ملف PHP فارغ وبناء كل شيء بنفسك، يقوم Laravel بتجهيز البنية الأساسية لك.

بعد انتهاء عملية الإنشاء، انتقل إلى مجلد المشروع:

cd first-laravel-app

أصبحنا الآن داخل مشروع Laravel.

تثبيت ملفات الواجهة الأمامية

بعد إنشاء المشروع، نحتاج إلى تثبيت حزم JavaScript الخاصة بالمشروع.

نفذ:

npm install

هذا الأمر يقوم بقراءة ملف إعدادات NPM في المشروع وتنزيل الحزم المطلوبة.

بعد اكتمال العملية يمكنك بناء ملفات الواجهة باستخدام:

npm run build

وثائق Laravel الحالية تعرض هذه الخطوات ضمن طريقة تشغيل المشروع بعد إنشائه.

تشغيل مشروع Laravel

بعد الانتهاء من تثبيت الحزم، يمكننا تشغيل بيئة التطوير المحلية.

نفذ:

composer run dev

في المشاريع الحديثة، يوفر Laravel سكربت تطوير يقوم بتشغيل الخدمات اللازمة لبيئة التطوير المحلية.

بعد تشغيل الأمر، ستظهر لك معلومات في الطرفية تتعلق بالخدمات التي تم تشغيلها.

يمكنك بعدها فتح المتصفح والانتقال إلى:

http://localhost:8000

إذا ظهرت صفحة Laravel، فهذا يعني أنك نجحت في إنشاء وتشغيل أول تطبيق Laravel.

وهذه لحظة مهمة جدًا بالنسبة للمبتدئ.

لقد انتقلت الآن من مرحلة قراءة المعلومات عن Laravel إلى تشغيل تطبيق Laravel حقيقي على جهازك.

ماذا يعني localhost؟

قد ترى لأول مرة الرابط:

http://localhost:8000

فماذا يعني؟

كلمة:

localhost

تعني أن التطبيق يعمل على جهاز الكمبيوتر الخاص بك.

أي أنك لا تتصل بموقع موجود على الإنترنت، وإنما تتصل بخادم محلي يعمل على جهازك.

أما الرقم:

8000

فهو رقم المنفذ Port الذي يعمل عليه الخادم المحلي.

لذلك عندما تفتح:

http://localhost:8000

فإن المتصفح يرسل الطلب إلى التطبيق الذي يعمل على جهازك.

هل المشروع أصبح منشورًا على الإنترنت؟

لا.

وهذه نقطة مهمة جدًا.

عندما تقوم بتشغيل Laravel باستخدام بيئة التطوير المحلية، فإن مشروعك يعمل على جهازك فقط.

المشروع في هذه المرحلة ليس موقعًا عامًا يمكن لأي شخص على الإنترنت الدخول إليه.

سنصل في مراحل متقدمة من الكورس إلى موضوع نشر Laravel على خادم حقيقي وربطه باسم نطاق واستضافة وقاعدة بيانات.

أما الآن، فكل ما نريده هو إنشاء بيئة محلية تساعدنا على التعلم والتجربة بأمان.

التعرف على الصفحة الأولى Laravel

عندما تفتح مشروع Laravel لأول مرة، سترى صفحة البداية الافتراضية.

هذه الصفحة تؤكد أن التطبيق يعمل بشكل صحيح.

لكن لا تتوقع أن ترى موقعًا كاملًا.

نحن في بداية المشروع فقط.

خلال الدروس القادمة سنبدأ بتغيير هذه الصفحة وإنشاء Routes وControllers وViews خاصة بنا.

التعرف على بنية مشروع Laravel

من أهم الأمور التي يجب أن تتعلمها مبكرًا هي فهم مجلدات Laravel.

افتح المشروع باستخدام محرر الأكواد وستجد عددًا من الملفات والمجلدات.

من أهمها:

app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
tests/
vendor/
.env
artisan
composer.json
package.json

لا تقلق إذا كانت هذه الملفات والمجلدات تبدو كثيرة.

لن تحتاج إلى فهمها كلها في هذا الدرس.

سنخصص درسًا كاملًا لاحقًا لشرح بنية مشروع Laravel بالتفصيل.

لكن من المفيد أن نأخذ فكرة أولية عن أهمها.

مجلد app

يحتوي مجلد:

app

على الجزء الأساسي من كود التطبيق.

ستجد بداخله مجلدات مهمة مثل:

Http
Models
Providers

ومع تطور المشروع ستصبح هذه المجلدات مألوفة جدًا بالنسبة لك.

مجلد routes

يحتوي مجلد:

routes

على ملفات تعريف المسارات.

وسنتعامل معه كثيرًا عندما نبدأ درس Routing.

مجلد resources

يحتوي مجلد:

resources

على الموارد التي يستخدمها التطبيق، ومن أهمها ملفات الواجهات والقوالب.

سنستخدمه لاحقًا عند تعلم Blade.

مجلد database

يحتوي مجلد:

database

على الملفات المرتبطة بقاعدة البيانات، مثل Migrations وSeeders وغيرها.

سنصل إليه عندما نبدأ العمل مع قواعد البيانات.

مجلد public

هذا المجلد مهم جدًا لأنه يمثل نقطة الدخول العامة للتطبيق عند تشغيله بواسطة خادم الويب.

توصي وثائق Laravel بأن يتم تقديم التطبيق من جذر دليل الويب المناسب، وليس من مجلد فرعي عشوائي، لأن ذلك قد يؤدي إلى كشف ملفات حساسة من المشروع.

في التطوير المحلي، لا تحتاج إلى القلق بشأن هذه النقطة كثيرًا لأن أدوات التطوير المحلية تتعامل مع تشغيل التطبيق بالطريقة المناسبة.

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

ملف .env

من الملفات المهمة جدًا:

.env

هذا الملف يحتوي على إعدادات خاصة ببيئة تشغيل التطبيق.

على سبيل المثال يمكن أن يحتوي على معلومات مرتبطة بـ:

  • قاعدة البيانات.
  • عنوان التطبيق.
  • إعدادات البريد.
  • مفاتيح الخدمات.
  • إعدادات أخرى تختلف بين بيئة التطوير والإنتاج.

من المهم جدًا عدم رفع ملف .env إلى مستودع عام؛ لأن الملف قد يحتوي على بيانات حساسة. وتؤكد وثائق Laravel أن ملف .env لا ينبغي أن يكون ضمن نظام التحكم بالإصدارات بسبب احتمال احتوائه على بيانات اعتماد ومعلومات سرية.

ملف artisan

ستجد في جذر المشروع ملفًا يسمى:

artisan

هذا الملف من أهم الأدوات التي ستتعامل معها أثناء تعلم Laravel.

Artisan هو واجهة سطر الأوامر الخاصة بـ Laravel.

ومن خلاله سنتمكن لاحقًا من تنفيذ أوامر كثيرة، مثل:

php artisan serve

و:

php artisan make:controller

و:

php artisan make:model

و:

php artisan migrate

سنستخدم Artisan بشكل كبير جدًا في الدروس القادمة.

ملف composer.json

ستجد أيضًا:

composer.json

هذا الملف يحتوي على معلومات مهمة عن اعتماديات مشروع PHP وحزم Composer التي يحتاج إليها المشروع.

عندما تحتاج إلى إضافة حزمة جديدة إلى مشروع Laravel، ستتعامل مع Composer وملف composer.json.

أما حزم JavaScript فيتم التعامل معها عادةً من خلال:

package.json

وهذا يوضح الفرق بين منظومة PHP ومنظومة JavaScript داخل المشروع.

ماذا لو ظهر خطأ أثناء تثبيت Laravel؟

لا تقلق إذا ظهرت رسالة خطأ.

الأخطاء أثناء إعداد بيئة التطوير أمر طبيعي جدًا.

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

مثلًا إذا ظهرت رسالة تفيد بأن:

php is not recognized

فقد يعني ذلك أن PHP غير مثبتة أو أن مسارها غير مضاف إلى PATH.

وإذا ظهر:

composer is not recognized

فقد تكون المشكلة مرتبطة بتثبيت Composer أو PATH.

وإذا ظهر خطأ متعلق بـ Node أو npm، فقد تحتاج إلى التحقق من تثبيت Node.js وإضافته إلى PATH.

القاعدة المهمة هنا:

لا تبحث عن حل الخطأ قبل أن تعرف ما الذي يقوله الخطأ.

اقرأ الرسالة أولًا.

لماذا نستخدم بيئة محلية في Laravel؟

قد يتساءل البعض: لماذا لا نرفع المشروع مباشرة إلى الاستضافة؟

لأن بيئة التطوير المحلية أفضل للتعلم والتجربة.

عندما تعمل محليًا يمكنك:

  • تجربة الأكواد بحرية.
  • ارتكاب الأخطاء دون التأثير على موقع حقيقي.
  • اختبار قاعدة البيانات.
  • تغيير الملفات بسرعة.
  • تجربة الحزم الجديدة.
  • تعلم Laravel دون الحاجة إلى رفع كل تعديل إلى الخادم.

ولهذا السبب تعتبر البيئة المحلية جزءًا أساسيًا من رحلة تعلم تطوير الويب.

تمرين عملي

قبل الانتقال إلى الدرس القادم، حاول تنفيذ الخطوات التالية بنفسك.

الخطوة الأولى

تحقق من PHP:

php -v

الخطوة الثانية

تحقق من Composer:

composer -V

الخطوة الثالثة

تحقق من Node.js:

node -v

الخطوة الرابعة

تحقق من NPM:

npm -v

الخطوة الخامسة

تحقق من Laravel Installer:

laravel --version

الخطوة السادسة

أنشئ مشروعًا جديدًا:

laravel new first-laravel-app

الخطوة السابعة

انتقل إلى المشروع:

cd first-laravel-app

الخطوة الثامنة

ثبت حزم JavaScript:

npm install

الخطوة التاسعة

ابنِ ملفات الواجهة:

npm run build

الخطوة العاشرة

شغل بيئة التطوير:

composer run dev

ثم افتح:

http://localhost:8000

إذا ظهرت صفحة Laravel، فأنت أنجزت أول تطبيق Laravel بنجاح.

أخطاء شائعة يجب تجنبها

تثبيت إصدار قديم من PHP

لا تستخدم إصدارًا قديمًا لمجرد أن أحد الشروحات القديمة يستخدمه.

Laravel 13 يتطلب PHP 8.3 على الأقل، لذلك يجب التأكد من توافق إصدار PHP مع إصدار Laravel الذي تعمل عليه.

نسخ الأوامر دون فهمها

لا تجعل هدفك هو نسخ الأوامر من الدرس.

حاول أن تفهم وظيفة كل أمر.

تجاهل رسائل الخطأ

رسالة الخطأ ليست عدوًا.

في كثير من الحالات تخبرك الرسالة بشكل مباشر بالمشكلة أو على الأقل تعطيك مفتاحًا للوصول إلى الحل.

العمل على المشروع كمستخدم root دون داعٍ

في Linux خصوصًا، لا تستخدم صلاحيات root لجميع أوامر التطوير إلا عندما تحتاج إليها فعلًا.

وضع بيانات حساسة داخل الكود

لا تضع كلمات المرور ومفاتيح الخدمات مباشرة داخل ملفات المشروع.

تعلم من البداية استخدام إعدادات البيئة .env بالطريقة الصحيحة.

ماذا تعلمنا في هذا الدرس؟

في هذا الدرس انتقلنا من الجانب النظري إلى الجانب العملي، وتعلمنا:

  • ما الأدوات التي يحتاج إليها Laravel.
  • ما وظيفة PHP.
  • ما وظيفة Composer.
  • ما هو Laravel Installer.
  • لماذا نحتاج إلى Node.js وNPM.
  • كيف نتحقق من تثبيت الأدوات.
  • كيف ننشئ مشروع Laravel جديد.
  • كيف ندخل إلى مجلد المشروع.
  • كيف نثبت حزم JavaScript.
  • كيف نشغل بيئة التطوير.
  • ما معنى localhost.
  • كيف نفتح تطبيق Laravel في المتصفح.
  • ما أهم المجلدات والملفات داخل المشروع.
  • ما وظيفة .env.
  • ما وظيفة Artisan.
  • ما أهمية composer.json.
  • لماذا نستخدم بيئة تطوير محلية.
  • كيف نتعامل مع أخطاء التثبيت.

أصبحت الآن تملك بيئة عمل قادرة على تشغيل Laravel، وهذا يعني أننا أصبحنا جاهزين للبدء في كتابة الكود الحقيقي.

تجهيز بيئة العمل هو أول خطوة عملية في رحلة تعلم Laravel.

تعلمنا أن Laravel 13 يحتاج إلى PHP 8.3 أو أحدث، وأن Composer يلعب دورًا أساسيًا في إدارة حزم PHP، بينما نحتاج إلى Node.js وNPM أو Bun للتعامل مع أصول الواجهة الأمامية.

كما أنشأنا أول مشروع Laravel وشغلناه محليًا، وتعرفنا بشكل سريع على أهم ملفات ومجلدات المشروع.

لا تقلق إذا لم تفهم جميع المجلدات حتى الآن.

في هذه المرحلة يكفي أن تعرف أين يوجد المشروع، وكيف تشغله، وكيف تصل إليه من المتصفح.

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

google-playkhamsatmostaqltradentX