Window.pipedriveLeadboosterConfig = { القاعدة: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', الإصدار: 2, } ؛(الدالة () { var w = نافذة إذا كان (w.LeadBooster) { console.warn('LeadBooster موجود بالفعل') } وإلا { { w.LeadBooster = { q: [], على: دالة (ن، ح) { { هذا.q.push({ t: 'o'، n: n، n: n، h: h }) }, الزناد: الدالة (n) { هذا.q.push({ t: 't'، n: n: n }) }, } } })() لماذا نحتاج إلى Symfony Polyfill (... ولماذا لا نحتاج إلى Symfony Polyfill) - The Codest
The Codest
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • الصناعات
    • التكنولوجيا المالية والمصرفية
    • E-commerce
    • أدتك
    • التكنولوجيا الصحية
    • التصنيع
    • الخدمات اللوجستية
    • السيارات
    • إنترنت الأشياء
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
السهم الخلفي العودة إلى الوراء
2022-05-19
تطوير البرمجيات

لماذا نحتاج إلى Symfony Polyfill (... ولماذا لا نحتاج إلى Symfony Polyfill)

The Codest

سيباستيان لوكزاك

PHP قائد وحدة PHP

في المقالة التالية، سنشرح في المقالة التالية كيفية عمل Symfony Polyfill وكيفية ارتباطها بمشاريع Symfony. سنتعمق أيضًا في الفكرة التي تحاول هذه المكتبة حلها.

في معظم الحالات الحديثة PHP المشاريع، ستلاحظ اعتمادًا كبيرًا على سيمفوني بوليفيلي (Symfony Polyfill) المكتبة. في هذه المقالة، سنشرح ليس فقط كيفية عملها وكيفية ارتباطها بـ مشاريع سيمفوني، ولكننا سنتعمق أيضًا في فكرة المشكلة التي تحاول حلها.

القليل من التاريخ

PHP كان في حالة سيئة لفترة طويلة. كان ذلك في عام 2005 عندما بدأ أندريه زميفسكي المشروع لجلب دعم Unicode الأصلي ل PHP بسبب المراجعات المختلطة والعديد من المخاوف التي PHP تسير في الطريق الخطأ تطوير PHP بدأت 6.x. لكنه لم يكتمل أبدًا - وهذه قصة ليوم آخر. بعد 10 سنوات، في وقت ما بين عامي 2014 و2015، بدأ ديمتري ستوغوف وشينشين هوي ونيكيتا بوبوف phpng - المشروع الذي قام بتحسين وإعادة هيكلة محرك Zend Engine الداخلي الذي يستخدمه PHP.

>_ وُلد PHP 7

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

الصورة

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

لضمان أن نتمكن نحن المطورين من استخدام أحدث وأفضل ميزات لغة البرمجة المحبوبة لدينا سيمفوني بوليفيلي (Symfony Polyfill) وُلد المشروع.

Symfony Polyfill ووظيفته

يقوم هذا المشروع بإعادة نقل الميزات الموجودة في أحدث إصدارات PHP ويوفر طبقات توافق لبعض الامتدادات والوظائف. وهي مخصصة للاستخدام عند قابلية النقل عبر إصدارات PHP والتمديدات مطلوبة.

هذا وصف خالص لـ سيمفوني بوليفيلي (Symfony Polyfill) ولكن ماذا يعني ذلك؟

نظرًا للتطور السريع لغة PHP وتخصيص برمجيات مزودي خدمات الإنترنت خارج نطاق التخصيص، واجه معظم المطورين خيارًا بسيطًا:

  • بصفتي مطورًا، أقوم بإنشاء تطبيقات في إصدار أقدم من PHP ولا يمكنه استخدام أحدث ميزات اللغة، أو
  • بصفتي مطورًا، أقوم بإنشاء تطبيق حديث باستخدام أحدث إصدار من 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 استشارات مجانية للتطوير PHP

اقرأ المزيد:

تطوير PHP: 5 أشياء يجب أن تعرفها

7 شركات ناشئة وشركات ناشئة ستهز مشهد السوق في عام 2022

تطوير PHP. مكوّن وحدة تحكم Symfony - نصائح وحيل

مقالات ذات صلة

تطوير البرمجيات

PHP 8.2: ما الجديد؟

الإصدار الجديد من PHP على الأبواب. ما هي التطبيقات الجديدة التي يجب أن تعرفها؟ راجع هذه المقالة لمعرفة ذلك!

The Codest
سيباستيان لوكزاك PHP قائد وحدة PHP
تطوير البرمجيات

تطوير PHP. مكون وحدة تحكم سيمفوني - نصائح وحيل

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

The Codest
سيباستيان لوكزاك PHP قائد وحدة PHP
تطوير البرمجيات

توظيف مطورين داخليين مقابل مطورين خارجيين

التوظيف داخلياً أم خارجياً؟ إنها معضلة كبيرة! اكتشف مزايا outsourcing أو بناء فريق داخلي في المقالة التالية.

The Codest
غريغورز روزموس قائد وحدة جافا

اشترك في قاعدة معارفنا وابقَ على اطلاع على آخر المستجدات في قطاع تكنولوجيا المعلومات.

    نبذة عنا

    The Codest - شركة دولية لتطوير البرمجيات لها مراكز تقنية في بولندا.

    المملكة المتحدة - المقر الرئيسي

    • المكتب 303 ب، 182-184 شارع هاي ستريت نورث E6 2JA
      لندن، إنجلترا

    بولندا - مراكز التكنولوجيا المحلية

    • مجمع مكاتب فابريتشنا المكتبي، أليجا
      بوكوجو 18، 31-564 كراكوف
    • سفارة الأدمغة، كونستروكتورسكا
      11, 02-673 02-673 وارسو، بولندا

      The Codest

    • الصفحة الرئيسية
    • نبذة عنا
    • الخدمات
    • دراسات الحالة
    • اعرف كيف
    • الوظائف
    • القاموس

      الخدمات

    • استشاري
    • تطوير البرمجيات
    • تطوير الواجهة الخلفية
    • تطوير الواجهة الأمامية
    • Staff Augmentation
    • مطورو الواجهة الخلفية
    • مهندسو السحابة
    • مهندسو البيانات
    • أخرى
    • مهندسو ضمان الجودة

      الموارد

    • حقائق وأساطير حول التعاون مع شريك خارجي لتطوير البرمجيات
    • من الولايات المتحدة الأمريكية إلى أوروبا: لماذا تقرر الشركات الأمريكية الناشئة الانتقال إلى أوروبا؟
    • مقارنة مراكز تطوير التكنولوجيا في الخارج: تك أوفشور أوروبا (بولندا)، آسيان (الفلبين)، أوراسيا (تركيا)
    • ما هي أهم التحديات التي تواجه CTOs ومديري تكنولوجيا المعلومات؟
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • شروط استخدام الموقع الإلكتروني

    جميع الحقوق محفوظة © 2025 بواسطة The Codest. جميع الحقوق محفوظة.

    arArabic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek arArabic