برمجة

Composer

ما هو Composer؟

كتب Composer كل من Nils Adermann وJordi Boggiano. أول إصدار مفتوح سنة 2012. الحزم تقف في الأغلب في سجل Packagist. composer.json قائمة حزم المشروع. composer.lock يثبت النسخة الدقيقة. composer install يقرأ تلك القائمة ويضع الحزم في مجلد vendor. PHP يشغّل البرنامج. Composer يجلب المكتبة فقط ولا يشغّل الصفحة بنفسه.

فيمَ يُستخدم Composer؟

Composer لتثبيت مكتبة جاهزة في مشروع PHP وتكرار القائمة نفسها على حاسوب آخر.

  • تثبيت الإطار نفسه بأمر واحد
  • حفظ النسخة بـ composer.lock
  • فصل الحزمة في مجلد vendor
  • استبدال حزمة قديمة بأخرى أحدث

ماذا يمكن فعله باستخدام Composer؟

بـ Composer تضيف حزمة وتثبّت من القائمة. لا يحل محل PHP. حزمة لا تعرفها تضع كودها داخل مشروعك. وضع مجلد vendor في المستودع عادة غير لازم. القائمة وملف القفل يكفيان.

هل تعلم Composer صعب؟

تثبيت حزمة واحدة سهل. الصعوبة في نسخة PHP وملف القفل. قد تطلب الحزمة PHP أحدث من الذي عندك فيتوقف التثبيت. رمي composer.lock قد يجلب نسخة أخرى غداً. إذا كتب مشروعان في المجلد المشترك نفسه اختلطت النسخ.

المزايا والحدود

الميزة: لا تُعاد كتابة المكتبة والقائمة تبقى في ملف واحد والتثبيت نفسه يتكرر على جهاز آخر. الحد: vendor يكبر. ليس كل عمل صغير يحتاج حزمة. Composer ليس pip وليس npm.

أفكار أساسية

للحزمة اسم ونسخة. composer.json القائمة. vendor مكان الملفات المنزّلة.

  • composer.json يحفظ القائمة
  • composer.lock يثبت النسخة
  • vendor مجلد الحزم
  • Packagist السجل المشترك

مثال قصير

هذا الأمر يثبّت حزم القائمة في مجلد vendor. لا يكتب برنامج PHP نفسه.

composer install

أسئلة شائعة

  • هل Composer وPHP الشيء نفسه؟ لا. PHP يشغّل البرنامج. Composer يجلب المكتبة.
  • هل Composer وpip وnpm الشيء نفسه؟ العمل قريب والأداة منفصلة. Composer لـ PHP.
  • هل يبقى مجلد vendor في المستودع؟ عادة لا. القائمة وملف القفل يبقيان والحزم تصل عند التثبيت.