Composer ، مسؤول لتثبيت التبعيات في مشاريع PHP

قبل بضعة أيام تم الإعلان عن إطلاق الإصدار الجديد من Composer 2.0، وهو مسؤول لتثبيت التبعيات في مشاريع PHP.

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

المكتبات المتاحة للتثبيت موجودة في مستودع Packagist ، والذي يحتوي على أكثر من 287 ألف حزمة.

حول الملحن

تم وضع الملحن كنظام تثبيت تبعية مصمم مع مديري الحزم npm و bundler في الاعتبار في مجتمعات Node.js و Ruby.

النظام تعمل الحزم فيما يتعلق بمشاريع محددة وهو مصمم لتثبيت التبعيات على أدلة المشروع المحلية (كخيار ، هناك أيضًا وضع تثبيت عالمي للنظام بأكمله).

بشكل افتراضي ، يُقترح تثبيت مكتبة مستقر ، ولكن من الممكن أيضًا استخدام التحديثات التجريبية (alpha / beta) واللقطات (لقطات من قاعدة بيانات التطوير) ، والتي تكون مفيدة لتنظيم الاختبارات المبنية على أنظمة التكامل المستمر.

تتم كتابة كود الملحن بلغة PHP ويتم توزيعه بموجب ترخيص معهد ماساتشوستس للتكنولوجيا (MIT).

حول الإصدار الجديد من Composer 2.0

في الإصدار الجديد تم إجراء تحسينات كبيرة في الأداء وتم تقليل استهلاك الذاكرة. تمت إعادة صياغة الكثير ، من البروتوكول إلى الاتصال packagist.org وصولا إلى طرق تحديد التبعيات.

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

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

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

بشكل افتراضي، تمت إضافة مرحلة إضافية للتحقق من النظام الأساسي لوقت التشغيل عند تهيئة البائع / autoload.php ، والذي تحقق من أن إصدار PHP وملحقاته المستخدمة تطابق الإصدارات المدعومة في التبعيات. إذا كان هناك تناقض ، فسيتم عرض خطأ.

يتم التحقق من الصحة باستخدام فئة Composer \ InstalledVersions الجديدة ، والتي يتم تحميلها لكل مشروع لتحديد الحزم والإصدارات المتوفرة في المشروع.

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

لتحديد الإصدارات مؤقتًا أثناء التحديث ، استخدم الإنشاء "Composer update vendor / package: 1.0. * "، والذي لن يغير محتوى الكتلة في" composer.json ولن يضع علامة على الملف المقفل كملف قديم.

من التغييرات الأخرى التي تبرز في هذا الإصدار الجديد:

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

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

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.