Composer هو أداة قوية لإدارة التبعيات في مشاريع PHP. يسمح لك بتثبيت واستخدام الحزم (libraries) التي يحتاجها مشروعك بسهولة. في هذا الدليل، سنتعرف على كيفية تثبيت Composer، وكيفية استخدامه لتثبيت حزم PHP في مشروعك.
ما هو Composer؟
Composer هو مدير حزم لـ PHP يتيح لك تثبيت الحزم وإدارة التبعيات بين مختلف مكتبات PHP. بدلاً من تثبيت كل مكتبة يدويًا، يقوم Composer بتنزيل الحزم المطلوبة وإعداد بيئة مشروعك لتكون جاهزة للاستخدام.
تثبيت Composer
لتثبيت Composer على جهازك، يمكنك اتباع الخطوات التالية:
# 1. تنزيل برنامج التثبيت Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# 2. التحقق من سلامة برنامج التثبيت (اختياري)
php -r "if (hash_file('sha384', 'composer-setup.php') === 'HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# 3. تشغيل برنامج التثبيت
php composer-setup.php
# 4. حذف ملف التثبيت
php -r "unlink('composer-setup.php');"
بعد تنفيذ هذه الخطوات، سيكون لديك ملف composer.phar
يمكنك استخدامه لتشغيل Composer عبر سطر الأوامر.
تهيئة مشروع PHP باستخدام Composer
لبدء استخدام Composer في مشروع PHP، يجب عليك إنشاء ملف composer.json
في جذر المشروع. هذا الملف يحتوي على معلومات حول الحزم التي يعتمد عليها مشروعك.
# إنشاء ملف composer.json
composer init
سيطلب منك Composer بعض الأسئلة حول مشروعك (مثل الاسم والوصف)، وبعد الإجابة عليها، سيتم إنشاء ملف composer.json
تلقائيًا.
تثبيت حزم PHP باستخدام Composer
لتثبيت حزمة PHP معينة في مشروعك، يمكنك استخدام الأمر composer require
متبوعًا باسم الحزمة. على سبيل المثال، لتثبيت حزمة monolog/monolog
التي تُستخدم لتسجيل السجلات:
composer require monolog/monolog
سيقوم Composer بتنزيل الحزمة المطلوبة وتثبيتها في مجلد vendor
داخل مشروعك. سيتم أيضًا تحديث ملف composer.json
لإضافة الحزمة الجديدة إلى قائمة التبعيات.
استخدام الحزم المثبتة في مشروعك
بعد تثبيت الحزم، يمكنك استخدام التحميل التلقائي (Autoloading) للوصول إلى فئات (Classes) الحزم المثبتة دون الحاجة إلى تضمينها يدويًا في مشروعك.
<?php
// تضمين ملف التحميل التلقائي
require 'vendor/autoload.php';
// الآن يمكنك استخدام الفئات من الحزم المثبتة
$logger = new Monolog\Logger('name');
$logger->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$logger->warning('This is a warning!');
سيقوم Composer بإدارة تحميل الفئات تلقائيًا، مما يسهل عليك استخدام الحزم دون الحاجة إلى تضمين كل ملف يدويًا.
تحديث الحزم المثبتة
للتأكد من أن مشروعك يستخدم أحدث الإصدارات من الحزم المثبتة، يمكنك تشغيل الأمر composer update
:
composer update
هذا الأمر سيقوم بتحديث جميع الحزم إلى أحدث الإصدارات المتوافقة وفقًا لما هو محدد في composer.json
.
إزالة حزم PHP المثبتة
إذا كنت ترغب في إزالة حزمة معينة من مشروعك، يمكنك استخدام الأمر composer remove
متبوعًا باسم الحزمة. على سبيل المثال، لإزالة حزمة monolog/monolog
:
composer remove monolog/monolog
سيقوم Composer بإزالة الحزمة وتحديث ملف composer.json
وقائمة التبعيات.
الخلاصة
يعد Composer أداة أساسية لكل مطور PHP، حيث يوفر وسيلة فعالة لإدارة التبعيات وتثبيت الحزم في مشروعك بسهولة. باستخدام Composer، يمكنك التركيز على تطوير مشروعك دون القلق بشأن إدارة التبعيات يدويًا.