برمجة | 4 دقائق للقراءة

ما هو Composer ؟ تعرف عليه وعلى طرق استعماله

إذا سبق لك أن كتبت أي شيء في PHP من قبل ، فمن المحتمل أنك وجدت أنه يجب عليك إعادة اختراع العجلة في أي وقت تريد القيام بمهمة شائعة مثل نظام تسجيل الدخول أو إدارة قاعدة البيانات مثلاً , لدى PHP الآن حفنة من الأطر الناضجة التي حلت كل هذه المشاكل بالفعل ، فهل سيكون منطقي أكثر ان تكمل من حيث انتهى الآخرون ؟ ام تجد انه عليك اعادة كتابة الكود بنفس المميزات مرة أخرى ؟

ان كنت ترى ان الاجابة هي كتابة كودك الخاص فربما تجد ان هذا الأمر صحيح في البداية , لكن سرعان ما تبدأ الأمور في الخروج عن السيطرة مع زيادة حجم المشروع الذي تعمل عليه يوماً بعد يوم , وما يزيد خطوة الأمور هو توسع فريق العمل وزيادة عدد الأشخاص العاملين معك على نفس المشروع , تذكر أن لكل مبرمج طريقته الخاصة في كتابة أي كود وهذا الأمر يزيد صعوبة التنسيق بين أعضاء الفريق وبالتالي الدخول في دوامة لا نهاية لها من التعديلات و الأخطاء , وهذا ما يسمى حسب اعتقادي الشخصي أسوا كوابيس اي مبرمج في العالم.

وهنا يظهر كومبوزر Composer

كومبوزر هو مدير حزم للغة PHP , ما يقوم به كومبوزر هو تجميع جميع الحزم التي تحتاجها وادارتها من مكان واحد , مما يسهل عليك عملية التطوير وخاصة عملية التطوير المشترك بين أعضاء فريق عمل.

وعملية ادارة الحزم التي يقوم بها كومبوزر ليست بمفهوم جديد في عالم البرمجة , في واقع الأمر الكثير من خدمات كومبوزر مستوحاة من npm التابع ل Node.js و Bundler التابع ل Ruby.

ربما سمعت سابقاً عن مدير حزم php المسمى PEAR المعمول به منذ سنوات عديدة , تخلى العديد من مبرمجي PHP عن PEAR لمشاكل كثيرة نذكر منها:

  • الكثير من الحزم الموجودة في PEAR قديمة وغير محدثة
  • لا يمكنك PEAR من تنصيب الحزم لمشروع معين , لكن عليك تنصيب الحزمة على النظام بأكمله , وهذا يعني ان كان لديك مشروع يعتمد على حزمة قديمة قليلاً فستجبر على تنصيب الحزمة الجديدة على النظام كاملاً , مما يؤدي بدوره لتدمير بنية المشروع المذكور

كيفية تنصيب Composer

يعد تنصيب كومبوزر مهمة سهلة للغاية , فيمكنك القيام بكل العمل الصعب من سطر الأوامر ببساطة كما يتوفر حزم تثبيت جاهزة لبعض أنظمة التشغيل

التنصيب من خلال ملف تنصيب (exe)

لتنصيب كومبوزر على ويندور كل ما عليك هو الذهاب للموقع الرسمي : https://getcomposer.org/ وتنزيل حزمة التنصيب من الموقع الرسمي وتنصيبها كأي برنامج عادي...

التنصيب من خلال سطر الأوامر (Terminal , CMD)

$ curl -s https://getcomposer.org/installer | php  

يمكنك هذا السطر من تنزيل ملف composer.phar

$ sudo mv composer.phar /usr/local/bin/composer

وفي هذا السطر , نقوم بنقل الملف لمسار bin لكي يتم تعميمه على النظام كاملاً , ولاحظ ان المسارات الظاهرة تعتمد على بنية أنظمة Linux , Unix كما يشترك Mac في بعض المعلومات السابقة .

$ composer

هذا الأمر سيقوم بتنصيب كومبوزر في نظام تشغيلك , بعد ذلك يمكنك بسهولة العمل على كومبوزر وتحديث الحزم او اضافتها الى مشروع معين لديك.

استخدام كومبوزر Composer

لنقل ان لدينا مشروع , ونريد اضافة حزم اليه وحفظها في ملفات المشروع , اولاً قم بانشاء مجلد جديد لمشروعك واحفظه اينما كان المسار الذي يناسبك , ومن ثم عليك بفتح سطر الأوامر والانتقال الى مشروع

$ cd PATH/TO/YOUR/PROJECT

للتأكد من أنك في المجلد الصحيح , جرب كتابة الأمر التالي

$ pwd
/var/www/html/projectFolder

يظهر لك انك ضمن مجلد المشروع الصحيح , والان نبدأ بتجهيز كومبوزر ضمن المشروع

قم بانشاء ملف جديد وسميه composer.json يمكنك عمل ذلك من خلال سطر الأوامر او من مستكشف الملفات

ولنجرب اضافة الكود التالي اليه :

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

قم بحفظ الملف و اغلاقه , والان نعود لسطر الأوامر ونكتب :

$ composer install

ستبدا الان عملية تنصيب الحزم , قد يأخذ الأمر بعض الوقت لتنزيل الحزم وتنصيبها ضمن مشروعك !

العمل الجماعي باستخدام كومبوزر

تظهر قيمة كومبوزر الحقيقية عند العمل المشترك , فكل ما على زميلك في فريق التطوير هو ارسال ملف compser.json لك , وبضغطة زر يصبح لديك نفس بيئة العمل الموجودة عنده وتختصر على نفسك كمية مشاكل كبيرة ووقت انت بحاجته للتطوير وليس لحل المشاكل .

في النهاية

ادارة الحزم هي الطريقة الصحيحة دائماً في العمل مع لغات البرمجة , وقد أثبتت لغة Ruby هذه المعتقد وصحته عن طريق برامج ادارة الحزم الرائعة لديها , حيث يمكنك الاستمرار في التطوير وبناء تطبيق عظيم بدلاً من اعادة اختراع العجلة يوماً بعد يوم

ونجد الكثير من اطر العمل الشهير قد وضعت نفسها طوع استخدام كومبوزر ومن اهمها اطار العمل الشهير لارافل Laravel

وكمبرمج php محترف , سيصبح كومبوزر احد اهم اصدقائك اليوميين , وباتباعنا هذه الطرق السليمة يمكننا جعل مجتمع مبرمجي php افضل واكثر مرونة للاستخدام والتعلم , فلا يوجد اي سبب يمنعك من البدء في استخدام كومبوزر اليوم !