PHP 8.2: ما الجديد؟
الإصدار الجديد من PHP على الأبواب. ما هي التطبيقات الجديدة التي يجب أن تعرفها؟ راجع هذه المقالة لمعرفة ذلك!
في المقالة التالية، سنشرح في المقالة التالية كيفية عمل Symfony Polyfill وكيفية ارتباطها بمشاريع Symfony. سنتعمق أيضًا في الفكرة التي تحاول هذه المكتبة حلها.
في معظم الحالات الحديثة PHP المشاريع، ستلاحظ اعتمادًا كبيرًا على سيمفوني بوليفيلي (Symfony Polyfill) المكتبة. في هذه المقالة، سنشرح ليس فقط كيفية عملها وكيفية ارتباطها بـ مشاريع سيمفوني، ولكننا سنتعمق أيضًا في فكرة المشكلة التي تحاول حلها.
PHP كان في حالة سيئة لفترة طويلة. كان ذلك في عام 2005 عندما بدأ أندريه زميفسكي المشروع لجلب دعم Unicode الأصلي ل PHP بسبب المراجعات المختلطة والعديد من المخاوف التي PHP تسير في الطريق الخطأ تطوير PHP بدأت 6.x. لكنه لم يكتمل أبدًا - وهذه قصة ليوم آخر. بعد 10 سنوات، في وقت ما بين عامي 2014 و2015، بدأ ديمتري ستوغوف وشينشين هوي ونيكيتا بوبوف phpng
- المشروع الذي قام بتحسين وإعادة هيكلة محرك Zend Engine الداخلي الذي يستخدمه PHP.
وعلى مدار السنوات الماضية PHP ينمو بشكل أسرع من أي وقت مضى، وهو حاليًا في الإصدار 8.1 الثابت.
نظرًا للتطور السريع للميزات الجديدة في اللغة لم يكن على المطورين فقط التكيف مع تلك التغييرات ولكن أيضًا البنية التحتية وخدمات الاستضافة.
لضمان أن نتمكن نحن المطورين من استخدام أحدث وأفضل ميزات لغة البرمجة المحبوبة لدينا سيمفوني بوليفيلي (Symfony Polyfill) وُلد المشروع.
يقوم هذا المشروع بإعادة نقل الميزات الموجودة في أحدث إصدارات PHP ويوفر طبقات توافق لبعض الامتدادات والوظائف. وهي مخصصة للاستخدام عند قابلية النقل عبر إصدارات PHP والتمديدات مطلوبة.
هذا وصف خالص لـ سيمفوني بوليفيلي (Symfony Polyfill) ولكن ماذا يعني ذلك؟
نظرًا للتطور السريع لغة PHP وتخصيص برمجيات مزودي خدمات الإنترنت خارج نطاق التخصيص، واجه معظم المطورين خيارًا بسيطًا:
لكن كان عليهم أن يحافظوا على التوافق مع الأدوات والخدمات الأخرى المستخدمة بالفعل على كل من الكود وجانب البنية التحتية - دائمًا ما يستخدمون إصدارات قديمة من PHPهل أنا بحاجة إلى أن أذكر، عزيزي القارئ، ما يسمى بـ "عامل المتعة" في هذين الحلين؟
لتسهيل الطريق أمام المطورين، قام مجتمع المصادر المفتوحة في عام 2015 بصياغة النسخة المستقرة الأولى من Polyfill المرقمة 1.0. أصبحت حياة المطورين أسهل، ويمكن القول أن Symfony Polyfill حلت العديد من المشاكل مثل إمكانية نقل التعليمات البرمجية بين المنصات المختلفة, إصدار PHP الاختلافات، وجعلت إعادة هيكلة التطبيقات وتقليل الديون التقنية أسهل بكثير.
لسوء الحظ، لا يمكن حل جميع المشاكل بأداة واحدة.
للمركبات المعقدة مشاريع تكنولوجيا المعلومات، يعد الاحتفاظ بإصدارات مختلفة من البيئات لمختلف العملاء/الفروع/الإدارات إجراءً شائعًا. وينتج عن ذلك الحاجة إلى تطوير العديد من فروع التطبيقات المختلفة في نفس الوقت، وغالبًا ما يكون ذلك بمتطلبات وظيفية مختلفة وبجرها الخاص. لقد واجهت مرات عديدة مشكلة الحفاظ على نفس التطبيق لعملاء مختلفين على بيئات PHP5 / PHP7 المختلفة وتعدد المشاكل المتعلقة بعدم توافق المكتبات أو تبعياتها للإصدارات المختلفة ببساطة لا يمكن حلها باستخدام سيمفوني بوليفيلي (Symfony Polyfill).
نظرًا للنمو السريع للميزات المدمجة في PHPفإن العديد من المطورين لم يواكبوا وتيرة التغيير. العديد من الميزات المقدمة في الإصدارات الأعلى من PHP يسهل تحقيقها باستخدام مكتبات خارجية، أو أن المطورين ببساطة لم يكونوا بحاجة إلى الميزات الجديدة، مثل ألياف PHP. عند اختيار الفريق من الجيد أن يتأكد الأعضاء من مطابقة المهارات أو أن تكون عملية تسليم التعليمات البرمجية أكثر اتساقًا من خلال أدوات التحليل الثابت والكشف المبكر عن أخطاء انحدار الإصدار.
لا يزال اعتماد ميزات اللغة الجديدة منخفضًا جدًا و PHP تظهر حصة 5 على 24% أكثر من 24% بوضوح أن ربع مشاريع PHP تعمل بإصدارات أقل من الإصدار 7.xوالتي سينتهي دعمها الأمني في 6 ديسمبر/كانون الأول 2022. هذا يعني أنه في وقت كتابة هذا المنشور، سيكون أكثر من 25% من مشاريع الويب المستندة إلى PHP عرضة لجميع الثغرات الأمنية الجديدة بحلول نهاية العام. "إذا كان يعمل فلماذا نتعب أنفسنا"؟
يجب علينا التكيف مع التغييرات اللغوية بأسرع وقت ممكن واستخدام أحدث الحلول في أقرب وقت ممكن. أثناء الترحيل المحتمل لمشروع قديم، يجدر بنا تضمين ما يلي سيمفوني بوليفيلي (Symfony Polyfill) كمساعد وباستخدام تقنيات مثل نمط الخانق ومنهجية BDD الرائجة حاليًا والتي يسهل تطبيقها بشكل رائع على إطار عمل سيمفوني. فهل نحن مجبرون حقًّا على استخدام سيمفوني بوليفيلي (Symfony Polyfill)?
اقرأ المزيد:
تطوير PHP: 5 أشياء يجب أن تعرفها