الملحن (برمجية)

الملحن (بالإنجليزية: Composer)‏ هو نظام إدارة الحزم من أجل لغة PHP التي توفر شكل موحد لإدارة تبعيات PHP البرامج المطلوبة المكتبات. تم تطويره من قبل نيلس Adermann و جوردي بوغيانو الذي الاستمرار في إدارة المشروع. بدأت التنمية في نيسان / أبريل 2011 أول أفرج عنه في 1 مارس 2012.[7] الملحن بقوة مستوحاة من npm  الخاص بلغة Node.js و bundler الخاص بلغة روبي  .[8] المشروع التبعية حل خوارزمية بدأ PHP القائمة على ميناء زحمة هذا libzypp satsolver.[9]

الملحن يعمل من خلال سطر الأوامر و تثبيت تبعيات مثل (المكتبات) تطبيق. كما يسمح للمستخدمين لتثبيت تطبيقات PHP التي تتوفر على "Packagist"[10] الذي هو المستودع الرئيسي تحتوي الحزم المتوفرة. كما يوفر autoload قدرات المكتبات التي تحدد autoload المعلومات إلى سهولة استخدام كود طرف ثالث.

الصياغة

الأوامر

يوفر الملحن عدة معاملات تشمل:[11]

  • require: إضافة المكتبة إلى ملف composer.json وتثبيتها.
  • install: تثبيت جميع المكتبات من composer.json. هذا هو الأمر المستخدم لتنزيل جميع تبعات مستودع PHP.
  • update: تحديث جميع المكتبات من composer.json وفقًا للإصدارات المسموح بها المذكورة فيه.
  • remove: إلغاء تثبيت مكتبة وإزالتها من composer.json.

تعريف المكتبات

مثال على composer.json الذي تم إنشاؤه بواسطة الأمر التالي:

composer require monolog/monolog
{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

الإصدارات

تُحدد الإصدارات المسموح بها من المكتبات بواسطة:[12]

الرمز الدور (يوضع قبل رقم الإصدار) المثال
>= يسمح بتمديد الرقم. بالإضافة إلى ذلك، يمكننا استخدام: >, <, <=. "php": ">=5.5.9" يشمل PHP 7.
!= يستبعد إصدارًا معينًا.
- يحدد نطاق الإصدارات.
* يمتد ليشمل جميع الإصدارات الفرعية. "symfony/symfony": "3.1.*" يشمل الإصدار 3.1.1.
~ يمتد إلى الإصدارات التالية من نفس المستوى. "doctrine/orm": "~2.5" يشمل الإصدار 2.6، ولكن لا يشمل الإصدار 2.4 ولا 3.0.
^ يشبه التلدة، لكن فقط إذا كانت هناك توافقية مع الإصدارات السابقة.

الأطر المدعومة

  • سمفوني (سيمفوني) الإصدار 2 وما بعده
  • لارافل (لارافيل) الإصدار 4 وما بعده
  • كود إغنيتر (كودإجنايتر) الإصدار 3.0 وما بعده
  • CakePHP (كيك بي إتش بي) الإصدار 3.0 وما بعده
  • FuelPHP (فيول بي إتش بي) الإصدار 2.0 وما بعده
  • دروبال (دروبال) الإصدار 8 وما بعده
  • تيبو3 (تايبو3) الإصدار 6.2 وما بعده
  • Neos Flow (نيوس فلو) الإصدار 2.0 وما بعده
  • SilverStripe (سيلفرسترايب) الإصدار 3.0 وما بعده
  • Magento (ماجينتو) الإصدار 2.0 وما بعده
  • OpenMage (أوبن ماج) الإصدار 20.0.0 وما بعده
  • يي (يي) الإصدار 1.1 وما بعده
  • زاند فريم ورك (لاميناس)
  • Silex (سيليكس) (إطار عمل ويب)
  • Lumen (إطار عمل ويب) (لومين)
  • إطار عمل Adianti (أديانتي) الإصدار 1 وما بعده

مراجع

  1. ^ ا ب الوصول: 22 مارس 2017. وصلة مرجع: https://api.github.com/repos/composer/composer.
  2. ^ الوصول: 5 أكتوبر 2016.
  3. ^ وصلة مرجع: https://www.openhub.net/p/composer/. مسار الأرشيف: https://web.archive.org/web/20200726041207/https://www.openhub.net/p/composer/. تاريخ الأرشيف: 26 يوليو 2020.
  4. ^ وصلة مرجع: https://github.com/composer/composer/blob/master/CHANGELOG.md.
  5. ^ ا ب "Release 2.8.3". 17 نوفمبر 2024. اطلع عليه بتاريخ 2024-11-21.
  6. ^ وصلة مرجع: https://github.com/composer/composer/blob/master/LICENSE.
  7. ^ Software release, github.com, Retrieved April 24, 2016. نسخة محفوظة 27 مارس 2019 على موقع واي باك مشين.
  8. ^ Getting Started/Dependency management, getcomposer.org, Retrieved November 28, 2013. نسخة محفوظة 12 فبراير 2018 على موقع واي باك مشين.
  9. ^ Composer acknowledgements نسخة محفوظة 22 ديسمبر 2017 على موقع واي باك مشين.
  10. ^ See packagist.org نسخة محفوظة 05 مارس 2018 على موقع واي باك مشين.
  11. ^ "Command-line interface / Commands". getcomposer.org. مؤرشف من الأصل في 2014-03-09.
  12. ^ "Versions and constraints - Composer". getcomposer.org. مؤرشف من الأصل في 2016-11-23.

روابط خارجية