"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لارافيل للذهاب: رحلتي وإنشاء غلاية ألياف ألياف

لارافيل للذهاب: رحلتي وإنشاء غلاية ألياف ألياف

نشر في 2025-03-12
تصفح:392

Laravel to Go: My Journey and the Creation of a Fiber API Boilerplate

بعد قضاء أكثر من أربع سنوات منغمس في لارافيل ، أصبحت على دراية كبيرة بالهندسة المعمارية MVC (عرض الطراز-View-Controller). إن بساطتها وهيكلها تجعل من دواعي سروري العمل مع المجلدات المنظمة بعناية من Laravel تساعد المطورين على البقاء على المسار الصحيح. أنت تعرف دائمًا مكان وضع الكود الخاص بك ، وأدوات مكثفة-توصيلات database ، redis ، قوائم الانتظار ، الترحيل ، ORM ، وأكثر من ذلك-إعداد سلس. مع بضع تعديلات على بيئتك ، يكون تطبيقك جاهزًا للذهاب.

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

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


تمديد MVC لارافيل من أجل التعقيد

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

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

خدمة

و طبقات ، وإنشاء تدفق مثل هذا:

وحدة التحكم → الخدمة → مستودع → نموذج

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

أدخل Go: تحدٍ جديد تمامًا

عندما بدأت العمل مع GO (Golang) ، شعرت وكأنها تدخل في منطقة مجهولة. GO مختلف تمامًا عن PHP ويفتقر إلى بنية مجلد متأصلة. كما أنها ليست لغة موجهة نحو الكائن ، لذلك لم أتمكن من تكرار ما عرفته من Laravel.

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

CSRM

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

ولادة ألياف ألياف ألياف ألياف ألياف ألياف ألياف

بعد أكثر من عامين من العمل مع Go و Fiber ، قررت إنشاء بلاء لتبسيط تطوير واجهة برمجة التطبيقات. لم يكن هذا فقط بالنسبة لي - أردت مساعدة الآخرين بسرعة في إعداد مشاريعهم أيضًا.

النتيجة:

boilerplate الألياف API

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

معايير تخطيط مشروع Golang
  • تخطيط مشروع Ayoub budiqar gist
  • لقد استعارت أيضًا العديد من الأفكار من Laravel ، مثل ORM ، واتصالات قاعدة البيانات ، و Redis ، وقوائم الانتظار ، والمصادقة. على الرغم من أنها ليست شاملة مثل Laravel ، إلا أنها أكثر من كافية لبناء واجهات برمجة التطبيقات العامة.

ميزات الغلاية

إليك ما يقدمه BoilerPlate حاليًا:

    المصادقة
  1. : إدارة مستخدم مبسطة خارج المربع.
  2. خطأ في الإبلاغ
  3. : متكامل مع Sentry.
  4. مراقبة التطبيق
  5. : يستخدم بقايا جديدة للرؤى في الوقت الفعلي.
  6. إعادة تحميل الساخنة
  7. : يتضمن الهواء للتطوير بشكل أسرع.
  8. فحص رمز ثابت
  9. : يستخدم Golangci-Lint.
  10. وثائق API
  11. : دعم مبالغ فيه مدمج عبر SWAG.
  12. حقن التبعية
  13. : مدعوم من Google Wire.
  14. النشر
  15. : يأتي مع Docker والمشرف على النشر السلس.
  16. يتضمن المستودع أيضًا رمز مثال و
مفصل

لإرشادك من خلال كل مجلد وميزة.

بناء للمستقبل

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

اهلا وسهلا بكم لاستكشاف واستخدام الغلاية. لا تتردد في تخصيصها - أدوات مضافة تريدها أو إزالة الأغراض التي لا تحتاجها. إذا كانت لديك اقتراحات أو طلبات ميزة ، فقم بإنشاء مشكلة أو إرسال طلب سحب.

ابدأ

تحقق من

ألياف API Boilerplate

واتخذها لتدور. آمل أن يساعد ذلك في تبسيط رحلة تطوير API الخاصة بك بقدر ما كانت بالنسبة لي. دعونا نبني شيئًا مذهلاً معًا!

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/granitebps/laravel-to-go-my-journey-the-creation-of-a-fiber-api-boilerplate-2pll؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3