Skip to content

Latest commit

 

History

History
285 lines (175 loc) · 23.9 KB

installation.md

File metadata and controls

285 lines (175 loc) · 23.9 KB

التنصيب

قابل لارافل

لارافل هي إطار عمل لتطبيقات الويب بتركيب جمل بليغ وأنيق. يوف إطار عمل تطبيقات الويب بنية (Structure) ونقطة بداية لإنشاء مشروعك، مما يسمح لك بالتركيز على بناء شيء رائع بينما نحن نتعب في التفاصيل.

تسعى لارافل جاهدةً لتقديم تجرِبة مطور رائعة بينما تقدم ميزات قوية كحقن التبعية الشامل (Thorough Dependency Injection)، طبقة تجريد قاعدة البيانات التعبيرية (Expressive Database Abstraction Layer)،الطوابير (Queues) والمهام المجدولة (Scheduled Jobs)، اختبارت الوحدات البرمجية وتكاملها ودمجها مع بعض (Unit & Integration Testing)، والكثير.

سواء كنت جديداً على PHP أو إطر عمل الويب أو لديك سنوات من الخبرة، لارافل هي إطار العمل الذي يمكنه أن يكبر معك. سنساعدك لتأخذ خطواتك الا,لى كمطور ويب أو سنعطيك دفعة بينما تأخذ خبرتك إلى المستوى التالي. لا يسعنا الانتظار لنرى ما تبنيه.

لماذا لارافل؟

هنك تنوع في الأدوات وأطر العمل المتوفرة لك عند بناء تطبيق ويب. ومع ذلك نعتقد أن لارافل هي أفضل خِيار لبناء تطبيقات ويب حديثة كاملة المكدس (Full Stack).

إطار عمل تقدمي

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

إن كنت مطوراً خبيراً، تعطيك لارافل أدوات قوية لحقن التبعية (Dependency Injection)، اختبار الوحدة البرمجية (Unit Testing)، الطوابير (Queues)، أحداث الوقت الحقيقي (Real-time Events)، وأكثر.

إطار عمل قابل للتوسيع

إن لارافل قابلة للتوسيع بشكل لا يصدق. بفضل طبيعة PHP الملائمة للتوسع ودعم Laravel المدمج لأنظمة التخزين المؤقت (Cache) السريعة والموزعة مثل Redis، التوسيع الأفقي (Horizontal Scaling) مع لارافل سهل للغاية. في الواقع، وُسِعَت تطبيقات Laravel بسهولة للتعامل مع مئات الملايين من الطلبات شهريًا.

هل تحتاج لتوسيع مهول؟ تسمح منصات مثل Laravel Vapor بتشغيل تطبيق لارافل الخاص بك على نطاق غير محدود تقريباً على أحدث تقنيات AWS بدون خادم (Serverless).

إطار عمل للمجتمع

تجمع لارافل أفضل الحزم (Packages) في نظام PHP البيئي (PHP Ecosystem) لتقدم أقوى وأسهل إطار عمل للمطورين. بالإضافة لذلك، ساهم آلاف المطورين الموهوبين حول العالم في لارافل

مشروعك الأول مع لارافل

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

منصة الحاويات (Docker) هي أداة لتشغيل التطبيقات والخدمات في "حاويات" صغيرة وخفيفة والتي لا تتداخل مع البرمجيات المنصبة على حاسبك الشخصي أو عداداته. هذا يعني أنه ليس عليك أن تقلق حول تنصيب أدوات التطوير المعقدة مثل مخدمات الويب وقواعد البيانات على حاسبك الشخصي. لتبدأ، كل ما عليك هو تنصيب برنامج Docker Desktop.

شراع لارافل (Laravel Sail) هو واجهة خفيفة لموجه الأوامر (command-line) مخصصة للتعامل مع إعدادات لارافل الخاصة بمنصة الحاويات (Docker). تقدم خدمة Sail نقطة بداية رائعة لبناء تطبيق لارافل باستخدام لغة PHP، محركة قواعد البيانات MYSQL، ومخزن البيانات Redis دون الحاجة لأي خبرة مسبقة عن منصة الحاويات Docker.

{نصيحة}هل انت خبير بمنصة الحاويات Docker؟ لا تقلق! كل شي في واجهة Sail يمكن تخصيصه باستخدام ملف docker-compose.ymlالموجود مع لارافل

البدء على MacOS

إنك كنت تستعمل جهاز ماك ولديك برنامج Docker Desktop مٌنصب على جهازك. يمكنك استخدام أمر بسيط في موجه الأوامر (terminal) لإنشاء مشروع لارافل جديد. على سبيل المثال، لإنشاء تطبيق لارافل جديد في مجلد اسمه "example-app"، يمكنك تشغيل الأمر الآتي في مشغل الأوامر (terminal):

curl -s "https://laravel.build/example-app" | bash

بالطبع، يمكنك تغيير "example-app" في هذا الرابط لأي شيء تريده. مجلد تطبيق لارافل سيُنشئ داخل المجلد الذي شغلت الأمر فيه.

بعد أن أُنشئ المشروع، يمكنك الانتقال إلى مجلد التطبيق وتشغيل Laravel Sail. تقدم Laravel Sail واجهة بسيطة للتعامل مع إعدادات لارافل لمنصة الحاويات Docker:

cd example-app

./vendor/bin/sail up

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

بمجرد أن بدأت حاويات Docker الخاصة بمشروعك، يمكنك الوصول إلى مشروعك في متصف الويب على هذا الرابط: http://localhost.

{نصيحة} لتتعلم المزيد عن Laravel Sail، اقرأ توثيقها الكامل.

البدء على Windows

قبل أن تُنشئ مشروع جديد في باستخدام لارافل على جهازك، تأكد من تنصيب برنامج Docker Desktop. بعدها، عليك التاكد من أن ميزة الأنظمة الفرعية في Windows لنظام تشغيل Linux بنسختها الثانية (Windows Subsystem for Linux 2) (WSL2) منصبة ومفعلة. خدمة WSL ستمكنك من تشغيل ملفات Linux التنفيذية على Windows 10. مكنك أن تجد معلومات عن كيفية تنصيب وتفعيل WSL2 في توثيق بيئة التطوير لشركة مايكروسوفت.

{نصيحة} بعد تنصيب وتفعيل WSL2K ينبغي عليك التأكد من أن برنامج Docker Desktop [معد لاستخدام WSL2(]https://docs.docker.com/docker-for-windows/wsl/)

بعد ذلك، أنت جاهز لإنشاء مشروعك الأول باستخدام لارافل. شغل موجه الأوامر Windows Terminal وابدأ جلسة جديدة لنظام تشغيل Linuxالمنصب باستخدام WSL2. ومن ثم، يمكنك استخدام موجه الأوامر لإنشاء مشروع لارافل جديد. على سبيل المثال، لإنشاء تطبيق لارافل جديد في مجلد اسمه "example-app"، يمكنك تشغيل الأمر الآتي في موجه الأوامر Terminal:

curl -s https://laravel.build/example-app | bash

بالطبع، يمكنك تغيير "example-app" في هذا الرابط لأي شيء تريده. سيُنشأ مجلد تطبيق لارافل داخل المجلد الذي شغلت الأمر فيه.

بعد أن أُنشئ المشروع، يمكنك الانتقال إلى مجلد التطبيق وتشغيل Laravel Sail. تقدم Laravel Sail واجهة بسيطة للتعامل مع إعدادات لارافل لمنصة الحاويات Docker:

cd example-app

./vendor/bin/sail up

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

بمجرد أن بدأت حاويات Docker الخاصة بمشروعك، يمكنك الوصول إلى مشروعك في متصف الويب على هذا الرابط: http://localhost.

{نصيحة} لتتعلم المزيد عن Laravel Sail، اقرأ توثيقها الكامل.

التطوير داخل WSL2

بالطبع، ستحتاج أن تكون قادراً على تعديل ملفات تطبيق لارافل التي أٌنشأت داخل WSL2. لتتمكن من ذلك، ننصحك باستخدام محرر Visual Studio Code المطور لدى شركة مايكروسوفت مع تنصيب إضافة التطوير البعيد (Remote Development).

بمجرد أن نُصبت هذه الأدوات، يمكنك فتح أي مشروع لارافل بتشغيل الأمر code . داخل المجلد الرئيسي للتطبيق باستخدام موجه الأوامر (Windows Terminal)

البدء على Linux

إن كنت تطور على نظام Linux ومنصب لديك برنامج Docker Compose، فيمكنك استخدام هذا الأمر على موجه الأوامر لإنشاء مشروع لارافل جديد. على سبيل المثال، لإنشاء تطبيق لارافل جديد في مجلد اسمه "example-app"، يمكنك تشغيل الأمر الآتي في مشغل الأوامر (terminal):

curl -s https://laravel.build/example-app | bash

بالطبع، يمكنك تغيير "example-app" في هذا الرابط لأي شيء تريده. سيُنشأ مجلد تطبيق لارافل داخل المجلد الذي شغلت الأمر فيه.

بعد أن أُنشئ المشروع، يمكنك الانتقال إلى مجلد التطبيق وتشغيل Laravel Sail. تقدم Laravel Sail واجهة بسيطة للتعامل مع إعدادات لارافل لمنصة الحاويات Docker:

cd example-app

./vendor/bin/sail up

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

بمجرد أن بدأت حاويات Docker الخاصة بمشروعك، يمكنك الوصول إلى مشروعك في متصف الويب على هذا الرابط: http://localhost.

{نصيحة} لتتعلم المزيد عن Laravel Sail، اقرأ توثيقها الكامل.

اختيار خدمات Sail التي تحتاجها

عند إنشاء تطبيق لارافل باستخدام Sail، يمكنك استخدام معامل الاستعلام (query string parameter) with لاختيار الخدمات التي ستهيئ في ملف docker-compose.yml الخاص بمشروعك. الخدمات المتوفرة تتضمن mysql، pgsql، mariadb، redis، memcached، meilisearch، minio، selenium، وmailhog:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

إن لم تحدد الخدمات التي تريد تهيئتها، سيٌهيئ مكدس افتراضي مكون من mysql، redis، meilisearch، mailhog، وselenium

يمكنك أن تأمر Sail بتنصيب (Devcontainer) حاوية تطوير افتراضية بإضافة معامل devcontainer إلى الرابط:

curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash

التنصيب باستخدام مدير الحزم (composer)

إن كان مدير الحزم (composer) و PHP منصَبين على جهازك، يمكنك إنشاء مشروع لارافل جديد باستخدام Composer مباشرة. بعد إنشاء التطبيق، يمكنك بدء مخدم تطوير محل باستخدام أمر serve الخاص واجهة الأوامر Artisan:

composer create-project laravel/laravel example-app

cd example-app

php artisan serve

منصب لارافل

أو يمكنك إضافة منصّب لارافل (Laravel Installer) كمكتبة عامة (System-wide Global Dependency) لمنصب الحزم (composer) على جهازك:

composer global require laravel/installer

laravel new example-app

cd example-app

php artisan serve

تأكد من وضع مسار مجلد vendor/bin الخاص بمدير الحزم (composer) في متغير البيئة $PATH حتى تتمكن من تشغيل الأمر laravel على نظامك. هذا المجلد موجود في مسارات مختلفة حسب نظام التشغيل لديك؛ مع ذلك، تشمل بعض المسارات الشائعة ما يلي:

  • macOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU / Linux Distributions: $HOME/.config/composer/vendor/bin or $HOME/.composer/vendor/bin

لتوفير الوقت، يمكن لمنصب لارافل إنشاء مستودع (Repository) Git لمشروعك الجديد. للإشارة أنك تريد إنشاء مستودع Git، مرر علم --git عند إنشاء مشروع جديد:

laravel new example-app --git

هذا الأمر سيهيئ مستودع Git جديد لمشروع ويقوم تلقائياً بعمل commit مجلدات لارافل الهيكلية. علمgit يفترض أنك منصب Git مسبقاً. يمكنك أيضاً استخدام العلم --branch لاختيار اسم الفرع:

laravel new example-app --git --branch="main"

بدلاً من استخدام --git يمكنك استخدام العلم --github لانشاء مستودع Git ولإنشاء مستودع خاص مطابق على Github:

laravel new example-app --github

المستودع المنشئ سيكون متوفراً في https://github.com/<your-account>/example-app. علم github يفترض أنك نصبت برنامج GitHub CLI وقمت ستجيل الدخول عليه باستخدام Github، يجب أيضاً أن يكون برنامج git منصب ومهيئ بشكل صحيح. عند الحاجة، يمكنك تمرير الأعلام الإضافية المدعومة بواسطة برنامج Github Cli:

laravel new example-app --github="--public"

يمكنك استخدام العلم --organization لإنشاء المستودع تحت منظمة محددة على GitHub:

laravel new example-app --github="--public" --organization="laravel"

الإعدادات الأولية

كل ملفات الإعدادات لإطار العمل Larave مخزنة في المجلد config. إن كل خيار موثق، لذلك لا تتردد في البحث في الملفات والتعرف على الخيارات المتاحة لك.

لارافل لا تحتاج تقريباً لأي إعدادات بعد إنشاء المشروع. أنت حر في البدء بالتطوير! على مع ذلك، قد ترغب بمراجعة الملف config/app.php وتوثيقه. يتضمن عدة خيارات مثل المنطقة الزمنية timezoneواللغة locale والتي يمكن أن ترغب في تغييرها حسب تطبيقك.

الإعدادات القائمة على البيئة

ما أن العديد من إعدادات لارافل قد تختلف اعتماداً على ما إذا كان تطبيقك يعمل على جهازك المحلي أو على مخدم الإنتاج (production). عُرفت العديد من الإعدادات بساتخدام الملف .env الموجود في جذر تطبيقك.

لا يجب إضافة الملف .env إلى مستودع التحكم بالمصدر الخاص بمشروعك، حيث كل مطور أو مخدم يستخدم تطبيقك قد يتطلب إعدادات بيئة مختلفة. علاوة على ذلك، قد يكون هذه مخاطرة أمنية في حال تمكن أحد المتسللين من الوصول إلى مستودع التحكم بالمصدر (Source control repository)، حيث سيتم كشف أي بيانات اعتماد حساسة.

{نصحة} للمزيد من المعلومات عن الملف .env واعدادات البيئة, تحقق من توثيق الإعدادات.

إعدادات المجلد

دائماً يجب أن يشغل مشروع لارافل من جذر "مجلد الويب" (Web Directory) المخصص لمخدم الويب الخاص بك. جيب ألا تحاول تشغيل تطبيق لارافل من أي مجلد فرعي في "مجلد الويب". محاولة ذلك قد تؤدي إلى كشف الملفات الحساسة الموجودة ضمن تطبيقك.

الخطوات التالية

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

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

لارافل إطار عمل المكدس الكامل (Full Stack)

يمكن للارافل أن تستخدم كإطار عمل المكدس الكامل. نعني بإطار عمل "المكدس الكامل" أنك ستستخدم لارافل لتوجيه طلبات تطبيق وتقديم واجهات تطبيقك باستخدام محرك القوالب Blade templates أو باستخدام تقنية هجينة لتطبيق الصفحة الواحدة (single-page application) مثل Inertia.js. هذه هي الطريقة الأكثر شيوعاً لاستخدام إطار عمل لارافل.

إن كنت تخطط لاستخدام لارافل، قد ترغب بقراءة وئائقنا عن التوجيه, الواجهات (views), أو البليغ (مكتبة ربط الأغراض بقاعدة البيانات) (Eloquent ORM).

إن كنت تستعمل لارافل كإطار عمل المكدس الكامل، نشجعك بشدة أن تتعلم ترجمة ملفات CSS و Javascript باستخدام Laravel Mix.

{نصيحة} إن كنت تريد أن تبدأ بناء تطبيقك بسرعة، ألق نظرة على إحدى أدواتنا لإطلاق التطبيقات.

لارافل واجهة التخاطب الخلفية (Backend API)

يمكن للارافل أن تُشغل كواجهة تخاطب خلفية لتطبيقات الصفحة الواحدة باستخدام Javascript أو تطبيقات الهواتف. على سبيل المثال، قد تستخدم لارافل كواجهة تخاطب خلفية لتطبيقك المبني باستخدام Next.js. في هذا السياق يمكنك تقدي المصادقة وتخزين أو جلب البيانات لتطبيقك، بينما تستفيد من خدمات لارافل مثل الأرتال، البريد الإلكتروني، الإشعارات، والمزيد.

إن كنت تخطط لاستخدام لارافل، قد ترغب بإلقاء نظرة على وثائقنا حول التوجيه, مكتبة المصادقة (Laravel Sanctum), and the البليغ (مكتبة ربط الأغراض بقاعدة البيانات) (Eloquent ORM)

{نصيحة} إن كنت بحاجة للبدء بسرعة لإنشاء موقع باستخدام لارافل وواجهات Next.js يقدم Laravel Breeze مكدس لواجهة التخاطب (API stack) مع تنجيز للواجهات باستخدام Next.js بحيث يمكنك البدء خلال دقائق