مرحبًا، أنا تامي أليمو. اسمح لي أن آخذك خلال رحلتي المثيرة كمتدرب في Laravel. كنت أهدف إلى اكتساب خبرة في الصناعة وكتابة تعليمات برمجية قابلة للقراءة وفهم إطار العمل بعمق. وإليك كيف سارت الأمور، مع التحديات التي واجهتها والحلول التي وجدتها على طول الطريق.
خلال فترة تدريبي، كان لدي ثلاثة أهداف أساسية:
الخبرة الصناعية: اكتساب خبرة عملية في بيئة مهنية.
رمز قابل للقراءة: اكتب رمزًا نظيفًا وقابل للصيانة وقابل للقراءة.
فهم إطار العمل: تطوير فهم عميق لإطار عمل Laravel.
بدأت رحلتي بإعداد بيئة التطوير. قبل هذا التدريب، كنت أتفاعل مع الواجهة الخلفية باستخدام بنية الواجهة الأمامية، إما من خلال عروض Blade أو JavaScript المجمعة مع Vite. لذلك، لم أر حقًا ضرورة إعداد CORS وكل ذلك. بعد ذلك، تعرفت على ساعي البريد — واو، يا له من تغيير في قواعد اللعبة!
ساعي البريد
ساعدني Postman في تعيين طلبات HTTP وتحريرها، وتمرير المعلمات والقيم، وإدارة المصادقة والرموز المميزة لحاملها. أدى هذا إلى توسيع نطاق فهمي لبنية الواجهة الخلفية وكيفية عملها. إن رؤية البيانات في شكلها الأولي ومعالجتها بشكل مباشر كان أمراً مدهشاً. أدركت أن العمليات الخلفية التي تبدو معقدة كانت أكثر وضوحًا مما كنت أعتقد في البداية.
ملحن
كان الملحن أداة أساسية أخرى. لقد استخدمته لتثبيت الحزم والتزمت بدقة بمعايير التنسيق PHP PSR-4. عندما أقول بدقة، أعني ذلك! هاها. لقد واجهت أخطاء عندما لم أتبع المعايير، مثل إنشاء الوثائق وإدراك وجود أخطاء في مساحات الأسماء بسبب وجود مسافات إضافية أو اصطلاحات تسمية غير صحيحة للنماذج والجداول.
تضمن إعداد المشروع عدة خطوات رئيسية:
إدارة المستودعات
كان استنساخ المستودعات وإعداد بيئتي مرهقًا للغاية في البداية — هاها، يا لها من رحلة! لقد تعرفت على scribe:generate، وهي حزمة تولد الوثائق. في البداية كنت أقول "ماذا؟!" كان تشغيل بذرات فئة معينة تحديًا آخر. لم أفهم الغرض منها مقارنةً بأدوات البذور العادية حتى أدركت أن php artisan db:seed --class=...Seeder يدير فئة بذارة معينة مباشرةً، وهو مفيد لبذر جداول أو مجموعات بيانات معينة بشكل فردي.
التعامل مع النماذج والبيانات
لقد قمت بتسليط الضوء على المعلمات المطلوبة عند إضافة سمات جديدة إلى النماذج وأنواع البيانات المحددة. كان التعرف على تسلسل البيانات وتحويلها إلى تنسيق الاستجابات أمرًا بالغ الأهمية. لقد تعلمت أيضًا استخدام التضمينات والتضمينات الافتراضية لتنسيق بيانات محددة والتضمينات المحللة لإضافة البيانات إلى الاستجابات.
جاري التحميل
كان التحميل السريع أحد الأشياء الجميلة التي تعلمتها. بدلاً من التحميل البطيء، حيث يتم تنفيذ استعلام SQL جديد داخل حلقة، ينفذ التحميل المتلهف استعلامًا واحدًا لتحميل كافة البيانات الضرورية. أصبح استخدام المساعد أمرًا حيويًا للاستعلام الفعال عن قاعدة البيانات، مما جعلني أبحث عن مساعدين رائعين متاحين في Laravel، يا له من فرق!
نطاقات الاستعلام ومنشئيه
لقد استخدمت نطاقات الاستعلام المتاحة لوحدة التحكم لجلب البيانات قبل تحويلها. كما أصبح منشئو الاستعلامات أيضًا خياري الأمثل لاسترجاع البيانات بشكل مبسط.
وحدات التحكم
تتعامل وحدات التحكم مع المنطق الأساسي لأنواع الطلبات المختلفة (GET، POST، UPDATE). لقد تعلمت كتابة نقاط النهاية والتعليق بوضوح على وثائق Scribe. إن استخدام الإجراءات لاستخراج التعليمات البرمجية القابلة لإعادة الاستخدام في وحدات تحكم مختلفة يضمن بنية تعليمات برمجية نظيفة. كان تنفيذ أساليب محاولة الالتقاط عند العمل مع قاعدة البيانات درسًا قيمًا آخر.
الآراء
على الرغم من عدم استخدامها على نطاق واسع، تم استخدام طرق العرض بشكل أساسي لتنسيق ردود البريد.
تطوير واجهة برمجة التطبيقات
لقد تعلمت تصميم وتنفيذ واجهات برمجة التطبيقات وفقًا لمبادئ RESTful واختبرتها باستخدام أدوات التسجيل المضمنة في Laravel وPostman.
هذه المعرفة تدفعني أيضًا إلى البناء والعمل مع Laravel Socialite، ودمج مصادقة Google لتسجيل الدخول واستخدام Laravel saintum، مباشرةً على ملفي الشخصي على GitHub.
التحديات
كان فهم قاعدة التعليمات البرمجية أمرًا صعبًا في البداية، خاصة أنه لم تكن هناك طرق تجميع متاحة في Postman. كان علي أن أبنيها وأفهم بنيتها، الأمر الذي كان يتطلب في بعض الأحيان معلمات إضافية ويؤدي إلى إبطاء عملية التطوير.
معرفتي الأساسية الضحلة بلغة PHP أثرت أيضًا على تقدمي، مما أدى إلى قضاء وقت إضافي في المهام.
حلول
للتغلب على هذه التحديات، ركزت على تعلم الأساسيات وممارستها من خلال العمل في فرع منفصل بعيدًا عن المهام المعينة لي. لقد تعمقت في فهم لغة PHP، وحصلت على مصادر مثل "البرمجة باستخدام GIO"، و"PHP بالطريقة الصحيحة"، وLaracasts — أوصي بها بشدة!
لا بأس بعدم حفظ بناء الجملة. هاها، في مثل هذه الحالات، كنت أشير دائمًا إلى الوثائق. تعمل قراءة المستندات على توسيع نطاق فهمك لموضوع معين.
بشكل عام، كانت تجربتي في العمل مع الفريق رائعة. بالإضافة إلى كونها وظيفة مدفوعة الأجر، فقد عرضوا المساعدة في فهم التطبيقات وإنشائها. يشرح الفريق الذي أعمل معه المهام المراد تحقيقها ويعطي استجابات سريعة عند مواجهة التحديات التي أواجهها.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3