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

| نوع |
مدير الحزم على مستوى التطبيق [لغات أخرى] |
|---|---|
| نظام التشغيل | |
| النموذج المصدري |
حقوق التأليف والنشر محفوظة [لغات أخرى] |
| موقع الويب |
| ضمان الجودة | |
|---|---|
| لغة البرمجة | |
| الإصدار الأول |
1 مارس 2012 [5] |
| الإصدار الأخير |
|
| المستودع | |
| الرخصة |
الملحن (بالإنجليزية: Composer) هو نظام إدارة الحزم من أجل لغة PHP التي توفر شكل موحد لإدارة تبعيات PHP البرامج المطلوبة المكتبات. تم تطويره من قبل نيلس Adermann و جوردي بوغيانو الذي الاستمرار في إدارة المشروع. بدأت التنمية في نيسان / أبريل 2011 أول أفرج عنه في 1 مارس 2012.[9] الملحن بقوة مستوحاة من npm الخاص بلغة Node.js و bundler الخاص بلغة روبي .[10] المشروع التبعية حل خوارزمية بدأ PHP القائمة على ميناء زحمة هذا libzypp satsolver.[11]
الملحن يعمل من خلال سطر الأوامر و تثبيت تبعيات مثل (المكتبات) تطبيق. كما يسمح للمستخدمين لتثبيت تطبيقات PHP التي تتوفر على "Packagist"[12] الذي هو المستودع الرئيسي تحتوي الحزم المتوفرة. كما يوفر autoload قدرات المكتبات التي تحدد autoload المعلومات إلى سهولة استخدام كود طرف ثالث.
الصياغة
الأوامر
يوفر الملحن عدة معاملات تشمل:[13]
require: إضافة المكتبة إلى ملف composer.json وتثبيتها.install: تثبيت جميع المكتبات من composer.json. هذا هو الأمر المستخدم لتنزيل جميع تبعات مستودع PHP.update: تحديث جميع المكتبات من composer.json وفقًا للإصدارات المسموح بها المذكورة فيه.remove: إلغاء تثبيت مكتبة وإزالتها من composer.json.
تعريف المكتبات
مثال على composer.json الذي تم إنشاؤه بواسطة الأمر التالي:
composer require monolog/monolog
{
"require": {
"monolog/monolog": "1.2.*"
}
}
الإصدارات
تُحدد الإصدارات المسموح بها من المكتبات بواسطة:[14]
| الرمز | الدور (يوضع قبل رقم الإصدار) | المثال |
|---|---|---|
| >= | يسمح بتمديد الرقم. بالإضافة إلى ذلك، يمكننا استخدام: >, <, <=. | "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/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv. تاريخ النشر: 6 يوليو 2025.
- ↑ وصلة مرجع: https://github.com/composer/composer/blob/master/CHANGELOG.md.
- ↑ "Release 2.8.9". 13 مايو 2025. اطلع عليه بتاريخ 2025-05-25.
- ↑ وصلة مرجع: https://github.com/composer/composer. الوصول: 6 يوليو 2025.
- ↑ وصلة مرجع: 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.
روابط خارجية
- الموقع الرسمي
- الملحن على GitHub
- وثائق الملحن
- درس شرح التعامل مع الملحن
- Packagist - المستودع الرئيسي للملحن