كيفية بناء تطبيقات وحدات في Laravel: نهج التوصيل N اللعب - الجزء 1

المعرفة هي عملية تجميع الحقائق. الحكمة تكمن في تبسيطها.

بساطة؛ انها تبدو مذهلة ومثيرة للاهتمام أليس كذلك؟ لتتمكن من إنشاء وحدات (نظام فرعي) خارج مشروعك وإعادة استخدامها في مشروع آخر. نعم! وهذا ما سأعرضه لك في هذه المقالة ولكن أولاً ، دعونا نفهم الحل الذي نحاول حله.

المشكلة

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

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

في الآونة الأخيرة ، بدأناsprinble العمل في مشروع تجاري ضخم باستخدام Laravel 5.7 والذي سيكون مشروعًا ضخمًا من حيث الأداء الوظيفي. بالنظر إلى حجم التطبيق ، والوحدات المختلفة التي ستحتوي عليها ، وبدلاً من تقطيع كل شيء (وحدات التحكم ، والطرز ، ووجهات النظر ، إلخ) في الدلائل الموجودة التي توفرها لارافيل ، قررنا تنفيذ وحدات مثل كل وحدة من الوحدات سيتم فصل كل شيء (وحدات التحكم ، النماذج ، المشاهدات ، البرامج الوسيطة ، أي مساعدين ، إلخ). والجزء الأكثر جمالا من كل ذلك هو أنه يمكن بسهولة توصيل هذه الوحدات في مشروع آخر أو مشاركتها عبر فرق بسهولة مما يوفر الكثير من الوقت.

الحل

كان الحل الذي توصلنا إليه هو بناء كل جزء من التطبيق كوحدة منفردة ولكن يمكنه التواصل مع الوحدات النمطية الأخرى في التطبيق والتي يشار إليها باسم "التوصيل المزدوج" في مصطلح هندسة البرمجيات. قادنا ذلك إلى حزمة Laravel تسمى "الوحدات النمطية nwidart / laravel".

nwidart / laravel-modules هي حزمة Laravel التي تم إنشاؤها لإدارة تطبيق Laravel الكبير باستخدام الوحدات النمطية. الوحدة النمطية مثل حزمة Laravel ، لديها بعض وجهات النظر ، وحدات التحكم أو النماذج. يتم دعم هذه الحزمة واختبارها في Laravel 5+.

حزمة nwidart / laravel-modules هي نسخة تم إعادة نشرها وإعادة تنظيمها وصيانتها لـ "pingpong / modules" ، والتي لم يتم الحفاظ عليها بعد الآن. لمزيد من المعلومات حول هذه الحزمة. انقر هنا.

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

تنفيذ الحل

المتطلبات

وفقًا لوثائق الحزمة ، تتطلب الحزمة PHP 7.1 أو أعلى وتتطلب أيضًا Laravel 5.7 للعمل.

التثبيت والإعداد

لتثبيت الحزمة من خلال الملحن ، قم بتشغيل الأمر التالي:

الملحن تتطلب وحدات nwidart / laravel

ستقوم الحزمة تلقائيًا بتسجيل مزود خدمة واسم مستعار. يمكنك أيضًا اختياريا نشر ملف التكوين الخاص بالحزمة عن طريق تشغيل:

بائع php الحرفي: publish - provider = "Nwidart \ Modules \ LaravelModulesServiceProvider"

افتراضيًا ، لا يتم تحميل فئات الوحدة تلقائيًا. يمكنك تحميل الوحدات النمطية تلقائيًا باستخدام psr-4. فمثلا :

PSR-4 التحميل التلقائي

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

كيفية إنشاء وحدة نمطية

حان الوقت الآن لنا لإنشاء وحدة نمطية في تطبيقنا. للقيام بذلك ، قم بتشغيل الأمر أدناه:

وحدة الحرفيين php: جعل <اسم الوحدة - هنا>

نصيحة سريعة: يرجى دائمًا استخدام اصطلاح التسمية CamelCasing عند تسمية الوحدات النمطية.

من الممكن أيضًا إنشاء وحدات متعددة في أمر واحد مثل الأمر المعروض أدناه:

php artisan module: make Blog User Auth

سيُنشئ الأمر أعلاه ثلاث وحدات مختلفة من وحدات Blog و User و Auth.

بعد إنشاء وحدة نمطية ، يجب أن تحصل على شيء مشابه للصورة المعروضة أدناه:

هيكل الوحدة

هل تستطيع ملاحظة الفرق؟ يضم مجلد "الوحدات النمطية" جميع الوحدات التي قمت بإنشائها ، حتى تتمكن من المضي قدماً والنقر على مجلد "الوحدات النمطية" لرؤية جميع الوحدات الخاصة بك وملفاتها على التوالي.

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

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

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

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