لارافل هي إطار عمل لتطبيقات الويب بتركيب جمل بليغ وأنيق. يوف إطار عمل تطبيقات الويب بنية (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
الموجود مع لارافل
إنك كنت تستعمل جهاز ماك ولديك برنامج 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، اقرأ توثيقها الكامل.
قبل أن تُنشئ مشروع جديد في باستخدام لارافل على جهازك، تأكد من تنصيب برنامج 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. لتتمكن من ذلك، ننصحك باستخدام محرر Visual Studio Code المطور لدى شركة مايكروسوفت مع تنصيب إضافة التطوير البعيد (Remote Development).
بمجرد أن نُصبت هذه الأدوات، يمكنك فتح أي مشروع لارافل بتشغيل الأمر code .
داخل المجلد الرئيسي للتطبيق باستخدام موجه الأوامر (Windows Terminal)
إن كنت تطور على نظام 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، يمكنك استخدام معامل الاستعلام (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) و 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 سيساعدك على تحديد الخطوات التالية في رحلتك. يوجع العديد من الطرق لاستخدام لارافل، سنتعرف على حالتين أساسيتين من حالات الاستخدام لإطار العمل أدناه.
يمكن للارافل أن تستخدم كإطار عمل المكدس الكامل. نعني بإطار عمل "المكدس الكامل" أنك ستستخدم لارافل لتوجيه طلبات تطبيق وتقديم واجهات تطبيقك باستخدام محرك القوالب Blade templates أو باستخدام تقنية هجينة لتطبيق الصفحة الواحدة (single-page application) مثل Inertia.js. هذه هي الطريقة الأكثر شيوعاً لاستخدام إطار عمل لارافل.
إن كنت تخطط لاستخدام لارافل، قد ترغب بقراءة وئائقنا عن التوجيه, الواجهات (views), أو البليغ (مكتبة ربط الأغراض بقاعدة البيانات) (Eloquent ORM).
إن كنت تستعمل لارافل كإطار عمل المكدس الكامل، نشجعك بشدة أن تتعلم ترجمة ملفات CSS و Javascript باستخدام Laravel Mix.
{نصيحة} إن كنت تريد أن تبدأ بناء تطبيقك بسرعة، ألق نظرة على إحدى أدواتنا لإطلاق التطبيقات.
يمكن للارافل أن تُشغل كواجهة تخاطب خلفية لتطبيقات الصفحة الواحدة باستخدام Javascript أو تطبيقات الهواتف. على سبيل المثال، قد تستخدم لارافل كواجهة تخاطب خلفية لتطبيقك المبني باستخدام Next.js. في هذا السياق يمكنك تقدي المصادقة وتخزين أو جلب البيانات لتطبيقك، بينما تستفيد من خدمات لارافل مثل الأرتال، البريد الإلكتروني، الإشعارات، والمزيد.
إن كنت تخطط لاستخدام لارافل، قد ترغب بإلقاء نظرة على وثائقنا حول التوجيه, مكتبة المصادقة (Laravel Sanctum), and the البليغ (مكتبة ربط الأغراض بقاعدة البيانات) (Eloquent ORM)
{نصيحة} إن كنت بحاجة للبدء بسرعة لإنشاء موقع باستخدام لارافل وواجهات Next.js يقدم Laravel Breeze مكدس لواجهة التخاطب (API stack) مع تنجيز للواجهات باستخدام Next.js بحيث يمكنك البدء خلال دقائق