fbpx

ما هو Laravel؟

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

Composer

Composer هي أداة تتضمن جميع التبعيات والمكتبات.

تسمح للمستخدم بإنشاء مشروع فيما يتعلق بالإطار المذكور (على سبيل المثال، تلك المستخدمة في تثبيت Laravel).

يمكن تثبيت مكتبات الجهات الخارجية بسهولة بمساعدة Composer.

تتم ملاحظة جميع التبعيات في ملف composer.json الذي يتم وضعه في المجلد المصدر.

Artisan

تسمى واجهة سطر الأوامر المستخدمة في Laravel Artisan.

يتضمن مجموعة من الأوامر التي تساعد في بناء تطبيق ويب.

يتم دمج هذه الأوامر من إطار عمل Symphony، مما يؤدي إلى ميزات إضافية في Laravel 5.1 (أحدث إصدار من Laravel).

ميزات Laravel

يوفر Laravel الميزات الرئيسية التالية مما يجعله خيارا مثاليا لتصميم تطبيقات الويب.

  • النمطية

يوفر Laravel  20مكتبة ووحدة مدمجة تساعد في تحسين التطبيق.

يتم دمج كل وحدة مع مدير تبعية الملحن الذي يسهل التحديثات.

  • القابلية للاختبار

يتضمن Laravel ميزات ومساعدين يساعدون في الاختبار من خلال حالات الاختبار المختلفة.

تساعد هذه الميزة في الحفاظ على الرمز وفقا للمتطلبات.

  • التوجيه

يوفر Laravel نهجا مرنا للمستخدم لتحديد المسارات في تطبيق الويب.

يساعد التوجيه على توسيع نطاق التطبيق بطريقة أفضل ويزيد من أدائه.

  • إدارة التهيئة

سيتم تشغيل تطبيق مصمم الويب في Laravel على بيئات مختلفة، مما يعني أنه سيكون هناك تغيير مستمر في تكوينه.

يوفر Laravel نهجًا ثابتًا للتعامل مع التكوين بطريقة فعالة.

  • منشئ الاستعلام و ORM

يتضمن Laravel منشئ استعلام يساعد في الاستعلام عن قواعد البيانات باستخدام طرق سلسلة بسيطة مختلفة.

يوفر ORM (Object Relational Mapper) وتنفيذ ActiveRecord يسمى Eloquent.

Schema Builder

يحتفظ Schema Builder بتعريفات قاعدة البيانات والمخطط في التعليمات البرمجية ل PHP.

كما أنه يحتفظ بمسار للتغييرات فيما يتعلق بعمليات ترحيل قاعدة البيانات.

  • محرك النموذج

يستخدم Laravel محرك Blade Template، وهي لغة نموذج خفيفة الوزن تُستخدم لتصميم كتل وتخطيطات هرمية بكتل محددة مسبقًا تتضمن محتوى ديناميكيًا.

  • البريد الإلكتروني

يتضمن Laravel فئة بريد تساعد في إرسال البريد بمحتوى غني ومرفقات من تطبيق الويب.

  • المصادقه

تعد مصادقة المستخدم ميزة شائعة في تطبيقات الويب.

يسهل Laravel تصميم المصادقة لأنه يتضمن ميزات مثل التسجيل ونسيان كلمة المرور وإرسال تذكيرا بكلمة المرور.

  • Redis

يستخدم Laravel Redis للاتصال بجلسة عمل موجودة وذاكرة تخزين مؤقت للأغراض العامة.

يتفاعل Redis مع الجلسة مباشرة.

  • Queues

يتضمن Laravel خدمات قائمة الانتظار مثل إرسال بريد إلكتروني لعدد كبير من المستخدمين أو مهمة Cron محددة.

تساعد قوائم الانتظار هذه في إكمال المهام بطريقة أسهل دون انتظار اكتمال المهمة السابقة.

  • ناقل الأحداث والأوامر

 يتضمن Laravel 5.1 على Command Bus الذي يساعد في تنفيذ الأوامر وإرسال الأحداث بطريقة بسيطة.

تعمل الأوامر في Laravel وفقا لدورة حياة التطبيق.

هل Laravel واجهة مستخدم أم واجهة الخلفية؟

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

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

لماذا Laravel؟

عند استخدام Laravel، لديك التحكم الكامل في مصادقة المستخدم والتحكم في الوصول المستند إلى الدور.

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

يتم تضمين جميع الإعدادات المطلوبة افتراضيا.

ونتيجة لذلك، أصبح التحقق من الحساب وتقييد الوصول أكثر تعقيدا، مما يجعلهما أكثر أمانا.

حزم Laravel هي نظام هدفه أتمتة طلبات المستخدم.

يسمح لك باستخدام الوظائف الإضافية والوحدات والبرامج المتخصصة التي توسع تطبيقات الويب.

يستخدم Laravel مؤلفًا كمدير تبعية، والذي يتتبع جميع البيانات اللازمة للتعامل مع الحزم.

تعد الحزم طريقة رائعة لتسريع عملية التطوير من خلال تزويدنا بجميع الميزات الأساسية.

بغض النظر عن إطار العمل نفسه، فإن Laravel لديه الكثير ليقدمه.

أدت الشعبية المتزايدة لإطار العمل إلى احتياجات أكثر تنوعًا: الحزم، وبيئات التطوير، وما شابه ذلك.

هناك العديد من العناصر تحت علامة Laravel التجارية التي تشكل نوعًا من النظام البيئي.

فيما يلي بعض المكونات الأكثر إثارة للاهتمام وشعبية:

  • Sail

Sail هي واجهة سطر أوامر خفيفة الوزن للتفاعل مع بيئة تطوير Docker الافتراضية في Laravel.

دون الحاجة إلى خبرة سابقة في Docker، يوفر Sail موقعا رائعا لإنشاء تطبيق Laravel القائم على PHP وMySQL وRedis.

يعتبر العديد من المطورين أن Sail هو بديل Homestead الأفضل والأكثر ملاءمة وتنوعا.

  • Valet

Valet هي بيئة تطوير macOS صغيرة وسريعة ومنخفضة (مع حوالي 7 ميغابايت من ذاكرة الوصول العشوائي).

ليس من المفترض أن تكون بديلاً كاملاً لـ Sail أو Homestead.

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

  • Cashier

Laravel Cashier هي واجهة لخدمات فواتير الاشتراك من Stripe أو Paddle.

يعالج Cashier إدارة الاشتراك الأساسية، ولكنه يسمح لك أيضًا بإدارة القسائم وكميات الاشتراكات واشتراكات المبادلة وإلغاء فترات السماح وحتى إنشاء ملفات PDF للفواتير.

  • Spark

Laravel Spark هي لوحة إدارة الفواتير التي تسمح للمستخدمين بإنشاء وإدارة اشتراكاتهم.

يستخدم مباشرة المحرك الذي يستند إليه – Cashier.

تقتصر Spark على Stripe وPaddle كموفري دفع.

لا تدعم Spark حتى الآن موفري الخدمات المخصصين.

ومع ذلك، يمكن ل Spark استخدام تطبيقات الجهات الخارجية لأنه قد يتم تخصيصها.

إيجابيات وسلبيات Laravel

Laravel هي واحدة من أفضل أطر عمل الويب ل PHP.

غالبا ما تكون قائمة المزايا التي يذكرها المطورون لا حصر لها، ولكن هذا لا يعني أنه ليس لديها عيوبها.

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

نقدم ما هو جيد في Laravel وأين تنتهي وظائفه.

الايجابيات:

وثائق رائعة

تتمثل إحدى أهم مزايا Laravel في مدى ملاءمة إطار العمل هذا للمطورين.

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

كل شكل من أشكال Laravel يأتي مع تعليمات واضحة للفئات، وأسلوب الترميز، والأساليب، والتغييرات التي تم إجراؤها.

دعم PHP

 تتطور لغة PHP باستمرار، وتتم إضافة ميزات جديدة لا تدعمها أدوات التطوير القديمة.

ليس هذا هو الحال مع Laravel.

بفضل التوافق مع الإصدارات السابقة باستخدام الإصدار 5.5 والإصدارات الأحدث، يمكنك استخدام وظائف جديدة توفرها PHP، على سبيل المثال، واجهة جديدة أو تحميل زائد أو بناء جملة صفيف أقصر أو مساحات أسماء.

Artisan

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

الاتصال بالبريد

تتمثل إحدى المزايا في الاتصال بخدمات البريد دون أي مشاكل أو القلق بشأن مشكلات الترميز و / أو الأمان.

يجب أن تبقى تطبيقات الويب على اتصال مع مستخدميها وإبلاغهم بالصفقات والعروض الجديدة.

يستخدم إطار العمل واجهة برمجة تطبيقات بدلا من مكتبة SwiftMailer.

ويشمل أيضا برامج تشغيل SMTP وMailgun وSparkPost وMandrill ووظيفة “البريد” الخاصة ب PHP وAmazon SES و “إرسال بريد إلكتروني”، مما يسمح لك بإرسال رسائل البريد الإلكتروني من خلال الخدمات المحلية أو الأنظمة الأساسية المستندة إلى السحابة.

السلبيات:

ملحن ضعيف

على عكس العديد من اللغات الأخرى، فإن مؤلف Laravel ليس قويًا مقارنةً بـ Ruby gems أو npm (node.js) أو pip (لpython ) أو غيره من مديري الحزم.

تقلبات الجودة

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

على سبيل المثال، قد يصبح حقن التبعية معقدًا في بعض الأحيان دون داعٍ.

نتيجة لذلك، لا يُصنَّع Laravel دائمًا للهواة ويتطلب تعلمًا مستمرًا.

تحديثات جيدة وسيئة

إنها مشكلة ليس فقط بالنسبة ل Laravel ولكن أيضا لأطر PHP.

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

من الأفضل حفظ كل شيء مرتين قبل الانتقال إلى الإصدار التالي.

الخاتمة

Laravel هي أداة رائعة لتطوير الويب، وفي العديد من الجوانب، ليس لديها منافسة.

كما أن لديها نظاما بيئيا واسعا ينمو باستمرار، وبفضل ذلك ستجد مجموعة متزايدة من المطورين المزيد من الطرق لاستخدام Laravel لتطوير الويب.

إنه يختلف اختلافا كبيرا عن أطر الويب الأخرى، ولكن هذا ليس جانبا سلبيا.

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

راسلنا