توسيع Drupal 10 باستخدام Composer.

تعلّم Drupalالبدء
في الوقت الحاضر، من الشائع جدًا أن تعتمد وحدات Drupal المُساهَم بها على مكتبات خارجية. ولا يمكن تثبيت بعض هذه الوحدات إلا باستخدام Composer. فإذا كنتم قد جلبتم نواة Drupal باستخدام Composer، أو إذا كانت وحدة تتطلب Composer، فعليكم استخدام Composer لتنزيل كل وحداتكم وقوالبكم. وإذا خلطتم بين تحديثات Composer وطرق أخرى، فقد تواجهون مشكلات تحديث مزعجة.
 

جلب الوحدات والقوالب المُساهَم بها باستخدام Composer

إذن، هل تريدون تنزيل وحدات Drupal أو قالبها المُساهَم بها باستخدام Composer؟ إليكم الطريقة:

  • اكتبوا composer require drupal/module_name
  • على سبيل المثال: composer require drupal/token
  • تأكدوا من وجودكم في جذر تثبيت Drupal لديكم

سيحدّث Composer بعد ذلك ملف composer.json بذكاء، مضيفًا الوحدة إلى قائمة المتطلبات الأخرى، هكذا:

{
    "require": {
        "drupal/token": "^1.5"
    }
} 

سينزّل Composer الوحدة وأي تبعيات محتملة قد تكون لها.

الآن، لتفعيل وحدة Drupal، لديكم خياران:

  • استخدموا واجهة متصفح الويب القياسية في Drupal بالنقر على Extend في شريط الأدوات.
  • جرّبوا أداة سطر أوامر مثل Drush أو Drupal Console، راجعوا تثبيت الوحدات من سطر الأوامر.

عند طلب الوحدات، يمكنكم استخدام اسم المشروع أو اسم الوحدة المحددة ضمن المشروع:

  • سينزّل Composer المشروع كاملًا الذي يحتوي على وحدة معينة.
  • على سبيل المثال، إذا احتجتم وحدة fe_block من مشروع features_extra، فيمكنكم اختيار أحد الخيارين التاليين:
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

اختيار إصدار

إذا أردتم تحديد إصدار الوحدة أو القالب الذي تريدون تنزيله، فافعلوا ذلك هكذا:

composer require 'drupal/module_name:version'

(فقط استبدلوا version بإصدار Composer الفعلي أو قيد الإصدار.)

على سبيل المثال:

composer require 'drupal/dxpr_builder:^1.1' 
composer require 'drupal/dxpr_builder:~1.1' 
composer require 'drupal/dxpr_builder:2.2.2-alpha2' 
composer require 'drupal/dxpr_builder:2.2.x-dev' 

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


تنبيه! على Windows، قد يؤدي استخدام علامات الاقتباس (المفردة) إلى إفساد تحديد الإصدار، مما يسبب فشل التثبيت مع 'Could not parse version constraint .....': Invalid version string "....'".

دون علامات الاقتباس، على سبيل المثال:

composer require drupal/dxpr_builder:^2.2

أو باستخدام علامات الاقتباس المزدوجة بدل المفردة، هكذا:

composer require "drupal/dxpr_builder:^2.2"

ويفترض أن يعمل ذلك دون مشكلات. لمزيد من المعلومات، راجعوا تعليق «مشكلات Composer: could not parse version constraint».


في الأمثلة أعلاه، تتوافق الإصدارات كما يلي:

  • ^1.1: يقابل أحدث إصدار مستقر 10.x-1.x من الوحدة.
  • ~1.1: يقابل أحدث إصدار مستقر 10.x-3.x من الوحدة.
  • 2.2.2-alpha2: يقابل الإصدار 2.2.2-alpha2
  • 2.2.x-dev: يقابل 2.2.x-dev

لمزيد عن قيود الإصدارات مع ~ (المدة) و^ (العلامة)، ألقوا نظرة على عوامل الإصدار المهم التالي.

من الجيد تحديد إصدار الوحدة المُساهَم بها التي تريدون تنزيلها.


استخدام البحث في Composer

أخبار سارة! تدعم نقاط نهاية composer في Drupal.org وظيفة البحث في Composer. وهذا يعني أنه يمكنكم البحث عن مشاريع Drupal من سطر الأوامر مباشرة. لاستخدام البحث في Composer، اكتبوا:

composer search views
 

استخدام التصفح في Composer

تدعم نقاط نهاية composer في Drupal.org للإصدارات من Drupal 7 إلى 10 أيضًا وظيفة التصفح في Composer. وهذا يتيح لكم العثور على معلومات إضافية عن مشاريع Drupal من سطر الأوامر مباشرة. لاستخدام التصفح في Composer، اكتبوا:

composer browse drupal/token