"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > مقارنة إطار عمل Slim وFlight PHP

مقارنة إطار عمل Slim وFlight PHP

تم النشر بتاريخ 2024-11-07
تصفح:821

لماذا استخدام الإطار الصغير؟

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

على الرغم من أن هذين الخيارين جيدان، إلا أن الإجابة الصحيحة على هذا السؤال يجب أن تكون "ما الذي تحتاج إلى إطار العمل للقيام به؟"

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

إذا كنت تنشئ موقع ويب بمسار واحد، فإن استخدام Laravel أو Symfony سيكون بمثابة هندسة للموقع، بينما بالنسبة للموقع المعقد، قد يكون Laravel أو Symfony هو الاختيار الصحيح.

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

على الرغم من وجود الكثير منها، إلا أن Slim وFlight PHP هما مثالان رائعان على أطر العمل الصغيرة.


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

بالنسبة لمشروع صغير مثل هذا، يعد الإطار الصغير خيارًا رائعًا. لقد قمت ببناء الموقع على كل من Slim وFlight PHP للمقارنة بينهما.

الهياكل العظمية

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

مشروع هيكل Flight PHPs هو إلى حد كبير ما كنت أتوقعه، خفيف الوزن، إعداد MVC بسيط، من السهل فهم بنية المجلد ومعرفة أين يجب أن يذهب كل شيء في المشروع.

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

ضوء على مكتبات الملحنين، 5 فقط في المجمل (بما في ذلك المكتبة الأساسية)، 4 مستخدمة في الإنتاج.

كان حجم الإنتاج لـ Skeleton 1.6 ميجابايت.

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

كان الهيكل العظمي النحيف أثقل قليلاً من Flight PHP. 21 مكتبة ملحنين، 9 منها مستخدمة في الإنتاج. حجم إنتاج المشروع كان 3.3 ميجا بايت.

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

البناء من الصفر

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

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

لم يكن إعدادي مع Flight PHP مختلفًا بشكل كبير عن الهيكل العظمي، بينما انتهى بي الأمر بأدلة أقل ومكتبات مؤلفين مختلفة، كان الأمر مشابهًا من الناحية الهيكلية.

مع Slim، انتهى هيكل المشروع بشكل مختلف تمامًا عن الهيكل العظمي.

كان من الجيد أن Slim كان مرنًا ولم يكن يضع افتراضات حول الهيكل وعمل بشكل جيد مع هيكل مختلف تمامًا عن الهيكل العظمي.

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

الكود

التوجيه

من وجهة نظر التوجيه، كان من الجيد العمل مع كلاهما. كان من السهل إعدادهما دون الحاجة إلى قراءة الكثير من الوثائق.

كانت المسارات في Flight PHP أسهل قليلاً في الإعداد من Slim، واستخدمت تعليمات برمجية أقل للقيام بذلك، ولكن لم يكن إعداد أي منهما صعبًا.

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

اتصالات قاعدة البيانات

مع Slim، من المتوقع أنه يجب عليك استخدام ORM مثل

Eloquent أو Doctrine لاستعلامات قاعدة البيانات الخاصة بك، بينما توفر Flight PHP غلافًا بسيطًا لـ PDO يمكن استخدامه إذا تحتاج إلى ذلك، واختياريًا، يمكن إضافة السجل النشط إلى المشروع لبناء الاستعلام.

بالنسبة لمشروع صغير مثل المشروع الذي كنت أعمل عليه، يبدو أن استخدام ORM أكثر من اللازم، لذلك انتهى بي الأمر إلى إنشاء فئة مجمعة صغيرة PDO لـ Slim، مماثلة لتلك التي تأتي مدمجة في Flight PHP .

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

الترميز العام تعتبر كل من Slim وFlight PHP Frameworks جيدة في السماح لك بكتابة التعليمات البرمجية بطريقتك الخاصة.

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

يجب أن تعمل الأطر معك وليس ضدك، وكلاهما شعر وكأنه يعمل معي.

يوفر Slim أيضًا عددًا من الإضافات المفيدة بما في ذلك تكامل CSRF والتخزين المؤقت لـ HTTP.

يوفر Flight PHP إضافات إضافية بما في ذلك الأذونات والسجل النشط.

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

يعد إرجاع JSON كاستجابة أكثر نظافة في Flight PHP مما هو عليه في Slim، وكان Slim 3 مناسبًا مع استجابة Json. في حين أن Slim 4 يلتزم بشكل أكبر بـ PSR-7، فهذا يعني أن إنشاء استجابة JSON يتطلب المزيد من التعليمات البرمجية.

إذا كنت سأستخدم استجابات JSON كثيرًا، فمن المحتمل أن أقوم بإنشاء غلاف لجعله أكثر ملاءمة مع الالتزام بمعيار PSR-7.

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

يوفر Slim عددًا من البرامج الوسيطة المساعدة. الوسيطة مطلوبة من أجل تشغيل بعض الميزات.

مثال على ذلك هو جلب البيانات من Javascript باستخدام FETCH. لدى Slim طريقة getParsedBody لإنشاء مصفوفة بيانات من طلب POST.

ومع ذلك، لاستخدامه، يجب إضافة addBodyParsingMiddleware إلى الحاوية.

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

يحقق Flight PHP ذلك من خلال ملف التكوين، ويمكن تشغيل وإيقاف بعض الميزات من خلال التكوين بدلاً من تمكين البرامج الوسيطة.

اختبارات السرعة وفقًا للمعايير، فإن المقارنة بين الاثنين لها نتائج مثيرة للاهتمام، حيث يتفوق Slim على Flight PHP في بعض المناطق بينما يتفوق Flight PHP على Slim في مناطق أخرى.

أظهر اختبار الإطارين على الكود الخاص بي أن Flight PHP كان لديه أوقات استجابة أسرع وأكثر اتساقًا من Slim.

الواجهة الأمامية

Slim and Flight PHP Framework Comparison

الحصول على طلب إرجاع JSON

Slim and Flight PHP Framework Comparison

طلب POST لإرجاع JSON

ما وجدته جديرًا بالملاحظة هو الارتفاعات الخارجية عند استخدام Slim.Slim and Flight PHP Framework Comparison

أدى تشغيل هذه الاختبارات عدة مرات إلى نتائج مماثلة في كل مرة لتلك التي عرضتها أعلاه، مع أوقات استجابة جيدة بشكل عام لكليهما ولكن مع ارتفاعات خارجية في Slim لم تحدث عند اختبار Flight PHP، وكان Flight PHP أفضل بشكل عام أوقات الاستجابة.

الأفكار النهائية

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

يعد كل من Slim وFlight PHP إطارين صغيرين رائعين.

Slim هو إطار عمل متين يحتوي على بعض الميزات الرائعة التي ستعمل بهدوء من أجلك.

Flight PHP خفيف الوزن، وبساطته تجعل تعلم إطار العمل أمرًا سهلاً حقًا.

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

بعد وضع هذين الاثنين جنبًا إلى جنب، أفضل Flight PHP على Slim، ولكن كما هو الحال مع أي إطار عمل، قم بتجربته ومعرفة ما إذا كان يناسبك.

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

رحلة PHP

إطار نحيف


بيان الافراج تم نشر هذه المقالة على: https://dev.to/mrpercival/slim-and-flight-php-framework-comparison-17am?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3