مقال : ما هو Composer؟ ولماذا يجب على كل مطور PHP استخدامه؟ مع طريقة التنصيب

السلام عليكم ورحمة الله وبركاته



ماهو الــ Composer في لغة PHP؟
Composer هو أداة لإدارة الرزم أو dependencies الخاص بلغة PHP ويعتمد على الملف composer.json الذي يحتوي على معلومات عدة حول المشروع ومنها الرزم أوالمكتبات المستعملة في هذا المشروع ويقوم بتوليد أو إنشاء ما يصطلح عليه بال autoloader الذي يقوم بالإستدعاء التلقائي للكلاسات داخل هذه المكتبات بعد تحميلها حتى يتم استعمالها في المشروع بسهولة وبساطة.

تنصيب composer
لنقم بتنصيب composer ولنلق نظرة على كيفية استخدامه. بالرغم من أنه يُمكن تنصيبه بشكل محلي داخل كل مشروع إلا أنه يُفضل تنصيبه بشكل عام على النظام. على أنظمة Linux/Unix يكفي تنفيذ الأمرين التاليين لتنصيب composer:

curl -sS https://getcomposer.org/installer | php $
mv composer.phar /usr/local/bin/composer $

قد تحتاج إلى إضافة sudo قبل الأمر الثاني إن احتجت إلى صلاحيات مدير النظام لتنفيذ الأمر.

أما على أنظمة Windows فيكفي تحميل وتنصيب التطبيق الرسمي الخاص به من هنا.

يُمكنك التحقق من إذا ما تم تنصيب composer بشكل صحيح على النظام بتنفيذ أمر composer في سطر الأوامر والذي من شأنه أن يُظهر المساعدة الخاصة به.

استخدام Composer
الآن وبعد أن قمنا بتنصيب composer سنحتاج إلى إنشاء ملف composer.json نقوم من خلاله بإعلام composer بالحزم التي نود إرفاقها والاعتماد عليها في مشروعنا الجديد، كما أنه يُمكن لهذا الملف أن يحتوي على بيانات أخرى سنحتاجها في بناء المشروع.

يكون ملف composer.json في شكله الأبسط على النحو التالي:

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

في هذا المثال فإننا نعتمد على الإصدار 1.0.* من مكتبة monolog . بطبيعة الحال يُمكن الاعتماد على أكثر من مكتبة في مشروعنا الحالي، حيث يكفي إضافة سطر جديد لكل مكتبة ما بين حاضنتي require ويتكون كل سطر من اسم المكتبة (الذي عادة ما يحتوي على اسم الجهة المُنتجة لها متبوعة باسمها، وعادة ما يكون نفس الاسم مُكررا مرتين) إضافة إلى رقم الإصدار الذي نرغب فيه.

يُمكن إيجاد هذه المكتبات وآليات إضافتها إلى مشروعك الخاص بالبحث على موقع packagist من هنا.

الآن وبعد أن حددنا المكتبات التي نرغب فيها يكفي أن نقوم بتنفيذ الأمر

composer install
أو

php composer.phar install
في حال ما إذا لم تقم بنقل composer.phar إلى مُجلد مساره موجود في مُتغير PATH الخاص بالنظام. سيقوم composer بتحميل جميع تلك المكتبات ووضعها داخل مُجلد vendor الذي سيتم إنشاؤه داخل مُجلد المشروع الحالي.

Autoloading
ولتجنيب المُطور من اللجوء إلى استدعاء هذه المكتبات واحدة واحدة لدى كتابته لمشروعه، يقوم composer بإنشاء ملف vendors/autoloader.php الذي يتولى إدارة ذلك حيث يكفي استدعاء هذا الملف لتتمكن من استخدام المكتبات التي حملتها من دون الحاجة إلى القيام بذلك يدويا:

<?php
require_once "vendors/autoloader.php";
تحديث المكتبات
لدى صدور تحديث جديد للمكتبة التي تعتمد عليها فإنه يكفي تنفيذ الأمر  للحصول عليها:
composer update
بطبيعة الحال إن كنت قد حددت إصدارا مُعينا في ملف composer.json فإنك لن تحصل على الإصدارات الأحدث ما لم تقم بتحديد الإصدار بشكل يسمح بالترقية الآلية. بعبارة أخرى إذا كنت تستعمل مثلا إطار عمل Laravel وقمت بإضافته باستخدام السطر التاليينlaravel/framework": "4.1.* فإنه سيتم التحديث إلى إصدار في التفرع 4.1 ولن يتم المرور إلى الإصدارات 4.2 أو التي تليها.

اتمنى ان الشرح اعجبكم القاكم في موضوع جديد انشاءالله الى اللقاء اعزائي .. شاركووا الموضوع ليستفيد اكبر عدد ممكن من هذا الموضوع وايضا لاتنسوا الضغط على زر لايك على صفحتنا في الفيسبوك وشكرا لكم :)

مقال : ما هو Composer؟ ولماذا يجب على كل مطور PHP استخدامه؟ مع طريقة التنصيب مقال : ما هو Composer؟ ولماذا يجب على كل مطور PHP استخدامه؟ مع طريقة التنصيب Reviewed by Munaf Aqeel Mahdi on 2:05 AM Rating: 5

No comments:

Powered by Blogger.