Composer هو أداة لإدارة الاعتماديات في لغة PHP، تخيل أنّك تعمل على مشروع يتضمن العديد من الاعتماديات التابعة لمشاريع أو مكتبات أخرى. سيدير Composer بالطرق التالية:
- تحميل مكتبة الاعتمادية من مستودعاتها إلى مشروعك بصورة تلقائية.
- يمكنك وبكلّ سهولة تحديث مكتبتك عند ظهور إصدار جديد منها.
- عند تحميل مكتبة الاعتمادية يتحقّق composer من المتطلبات الدنيا للخادوم.
-
سينشئ Composer ملف
autoloader.php
لجميع المكتبات المحمّلة وسيحمّل الاعتمادية كاملةً في المشروع الذي تعمل عليه.
ماذا سيحصل إن لم تستخدم Composer؟
- ستضطرّ إلى تحميل مكتبة الاعتمادية يدويًّا.
- يجب عليك التحقّق من الإصدارات الجديدة للمكتبات دوريًّا، وتحميل الملفات إلى المشروع يدويًّا.
-
يجب عليك تحميل جميع المكتبات إلى مشروعك باستخدام دالتي
require
أوinclude
.
إليك المثال التالي لتوضيح ما سبق:
لديك مشروع تعمل عليه باستخدام إطار عمل Cakephp أو Laravel، وترغب في إضافة خاصية إرسال الرسائل إلكترونية إلى المشروع وتحتاج إلى اتصال من نوع SMTP. ستقوم حينها بتحميل إحدى المكتبات المتخصّصة في هذا المجال مثل Phpmailer أو Swiftmailer.
إن استخدمت composer للحصول على هذا المكتبات، فسيكون بميسورك تحميل المكتبة المطلوبة مباشرة إلى مجلد vendor ضمن المشروع. وإن حصلت هذه المكتبة على تحديث جديد، يكفي أن تنفّذ أمرًا واحدًا في سطر الأوامر، ولن تكون بحاجة إلى التحقّق ممّا إذا كان التحديث متوافقًا مع الإصدار 5.4 أو 5.3 من php.
سيتّضح الأمر أكثر فأكثر من خلال الأمثلة التالية.
كيف يتم تثبيت Composer في النظام
قبل تثبيت composer يجب التحقّق من أنّك تعمل على الإصدار 5.4 وما بعده من لغة PHP.
إن كنت من مستخدمي نظام ويندوز فيمكنك تحميل الملف التنفيذي الخاص بتثبيت Composer وذلك من الرابط: https://getcomposer.org/، وتنصيب Composer في نفس المجلد الذي قمت بتثبيت php.exe فيه. (C:\wamp\bin\php\php5.5.12 مثلاً).
أما مستخدمو نظامي Linux و Mac فيمكنهم فتح الطرفية وكتابة الأمر التالي فيها:
curl -sS https://getcomposer.org/installer | php
سيقوم هذا الأمر بتحميل ملف composer.phar
(phar تعني php archive) بواسطة الأداة curl، وللوصول إلى composer من أي مكان في حاسوبك يجب عليك نقل هذا الملف إلى المجلد /usr/bin/composer
، وذلك بتنفيذ الأمر التالي في الطرفية:
sudo mv composer.phar /usr/bin/composer
للتحقق من وجود Composer يكفي الدخول إلى سطر الأوامر في ويندوز أو الطرفية في Linux و Mac وكتابة كلمة composer
والضغط على زر الإدخال Enter. إن كان Composer مثبّتًا في جهازك ستظهر شاشة الترحيب التالية إضافة إلى جميع ا لأوامر المستخدمة في composer.
تطبيق عملي لاستخدام مكتبة Composer
سيبحث Composer عن الملف composer.json
حيث سندرج جميع الاعتماديات التي نحتاج إليها في المشروع.
لننشئ مجلّدًا جديدًا بواسطة الأمر التالي:
mkdir composer_example
ادخل إلى المجلد:
cd composer_example
أنشئ ملف composer.json
هنا، وأضف إليه ما يلي:
{
"require": {
"jdorn/sql-formatter": "1.3.*@dev"
}
}
هنا jdorn
هو اسم صاحب الحزمة sql-formatter
التي نرغب في تثبيتها ضمن المشروع.
ولكن قد تتسائل من أين سيأتي Composer بهذه الحزمة. في الواقع هناك موقع إلكتروني آخر هو Packagist يتضمّن جميع المكتبات الشائعة ويمكن تصفّحها من خلال الموقع.
مكتبة sql-formatter
عبارة عن صنف php صغير الحجم يعمل على تنسيق عبارات SQL حيث يضبط الإزاحات في بداية العبارة تلقائيًا كما يدعم تلوين الكلمات المفتاحية.
بعد أن أعددنا ملف composer.json
يمكننا تحميل وتنصيب الملفات المطلوبة في مجلد المشروع بواسطة الأمر:
composer install
سيتم تحميل جميع الملفات المطلوبة ومن ضمنها ملفات autoload
إلى المجلد composer_example/vendor
.
والآن أنشئ ملفًّا باسم index.php
في المجلد composer_example
واجلب فيه الملف autoload.php
باستخدام الدالة require
وبذلك سيتمّ تحميل جميع الاعتماديات في هذا الملف. إليك المثال التالي:
<?php
require "vendor/autoload.php";
$query = "SELECT count(*),`Column1`,`Testing`, `Testing Three` FROM `Table1`
WHERE Column1 = 'testing' AND ( (`Column2` = `Column3` OR Column4 >= NOW()) )
GROUP BY Column1 ORDER BY Column3 DESC LIMIT 5,10";
echo SqlFormatter::format($query);
?>
لاحظ مدى سهولة وسرعة التعامل مع الاعتماديات بواسطة Composer.
لننشئ مشروعًا آخر
لنفترض أننا نرغب في إضافة إطار عمل Codeigniter بواسطة Composer. لن نستخدم هذه المرّة الأمر composer install
بل سنستخدم الأمر composer create-project
لإنشاء مشروع جديد.
توجّه إلى موقع Packagist وابحث عن مكتبة Codeigniter، ثم حمّل نسخة من إطار العمل إلى مجلد المشروع الذي تعمل عليه:
composer create-project codeigniter/framework مجلد المشروع
بعد اكتمال العملية ستجد ملف composer.json
في مجلد المشروع، ويمكن إضافة المزيد من الاعتماديات إلى مشروعك بواسطة هذا الملف. لنفترض أنّك ترغب في استخدام حزمة sql-formatter
في مشروعك هذا. توجّه إلى ملف composer.json
وعدّله ليصبح بالصورة التالية:
{
"description" : "A way to install CodeIgniter via composer",
"name" : "rogeriopradoj/codeigniter",
"license": "OSL-3.0",
"require": {
"php": ">=5.2.4",
"jdorn/sql-formatter": "1.3.*@dev"
}
}
ثمّ حدّث الاعتماديات بواسطة الأمر:
composer update
والآن إن كنت ترغب في رفع هذا المشروع إلى Github أو مشاركته مع أحد الأصدقاء، لن تكون بحاجة إلى إرسال مجلد vendor، بل يكفي أن ترسل الملف composer.json
وسيكون بميسور صديقك تحميل جميع الاعتماديات المطلوبة والمستخدمة في المشروع.
عليك بتجربة composer، إذ تستخدمه معظم أطر عمل php المعروفة مثل Laravel، Symfony 2 و Yii إضافة إلى بعض حزم php الرائعة التابعة لـ Phpleague. فماذا تنتظر إذًا؟
ترجمة - وبتصرّف - للمقال Composer easy tutorial – php dependency management tool لصاحبه Arkaprava Majumder.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.