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

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

## الصياغة
### الأوامر

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

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

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

### الإصدارات

تُحدد الإصدارات المسموح بها من المكتبات بواسطة:
| الرمز | الدور (يوضع قبل رقم الإصدار) | المثال |
| >= | يسمح بتمديد الرقم. بالإضافة إلى ذلك، يمكننا استخدام: >, <, <=. | "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 وما بعده

## مراجع

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