تعرف على Composer

Ali Majrashiمنذ 8 سنوات

نبذة عن Composer

Composer عبارة عن أداة لإدارة المشاريع البرمجية dependency management
في PHP. تسمح لك بتحديد المكتبات البرمجية التي يعتمد عليها مشروعك و Comopser
يتولى ادارة المشروع من تثبيت و تحديث المكتبات لك. 

dependency management

اهم مايميز Composer انها ليست مجرد أداة لإدارة المكتبات البرمجية مثل Yum او Apt 
بأنظمة لينوكس. صحيح انها تتعامل مع المكتبات او الحزم البرمجية ولكن تتميز بإدارتها بناء
على احتياجات كل مشروع على حدة. حيث ان Composer يقوم بتثبيت المكتبات او الحزم
داخل مجلد بمسمى vendor داخل مجلد مشروعك. فلن يقوم Composer بتثبيت اي مكتبه 
بمسار عام بجهازك ابدا بشكل افتراضي. ولهذا سمي dependency manager

هذه الفكرة ليست جديدة حيث ان Composer تم استوحاء الفكره من npm الأداة الخاصة
بـ node's و من bundler الأداة الخاصة بـ ruby's

لنفترض:

  1. لديك مشروع يعتمد على عدة مكتبات برمجية لتنفيذه
  2. وبعض هذه المكتبات يعتمد على مكتبات لتعمل بشكل سليم

مهمة Composer:

  1. يسمح لك بتحديد المكتبات التي تحتاجها انت بمشروعك فقط
  2. يبحث Composer عن النسخ والمكتبات التي حددت ويقوم
    بتثبيتها لك وتثبيت اي مكتبة جانبية لتعمل جميع المكتبات بدون
    مشاكل

متطلبات تثبيت Composer بجهازك

يتطلب تثبيت Composer وجود PHP 5.3.2 أو أعلى وأيضا يجب تفعيل بعض إعدادت 
PHP وتفعيل بعض المكتبات ليعمل Composer بشكل سليم ولكن عندما يتم استخدام مثبت
Composer سيقوم بعرض تحذيرات بأي نواقص او متطلبات يجب تفعيلها او تثبيتها ليعمل
بدون مشاكل.

طرق تثبيت Composer 

Composer يعمل على جميع أنظمة التشغيل Windows و Linux و OSX بدون أي
مشاكل ويفضل إستخدام ملف التثبيت لتثبيت النسخة التي تناسب جهازك ونظام التشغيل لديك

تثبيت Composer على Windows 

راجع طريقة تركيب composer على windows

تثبيت Composer على Linux / Unix / OSX 

لدينا خيارين ان نثبت Composer بشكل محلي داخل مجلد مشروعك او نقوم بالتثبيت بشكل
عام وتستطيع إستخدامه بجميع مشاريعك وإدارة كل مشروع حسب احتياجاته 

تثبيت Composer بشكل محلي Locally

عن طريق Terminal تصفح لداخل مجلد مشروعك عن طريق الأمر cd فلو كان مجلد المشروع
بسطح المكتب تستطيع الإنتقال لهذا المجلد عن طريق هذا الأمر


cd Desktop/projectFolder

وبعدها عن طريق Terminal قم بتنفيذ هذا الأمر 


curl -sS https://getcomposer.org/installer | php

في حالة فشل هذا الأمر لأي سبب من الأسباب قم بعملية التثبيت بواسطة PHP
عن طريق Terminal نفذ هذا الأمر ليقوم PHP بعملية التثبيت 


php -r "readfile('https://getcomposer.org/installer');" | php

سيقوم ملف التثبيت بالتاكد من إعدادات PHP وبعدها يقوم بتحميل ملف composer.phar
بداخل مجلد المشروع هذا الملف هو Composer وهو من نوع PHAR (PHP archive)
اي ملف ارشيف خاص بلغة PHP يتم تشغيله والتعامل معه عن طريق واجهة الأوامر
(command line)  

للتاكد ان Composer تم تثبيته بنجاح قم بتنفيذ هذا الأمر عن طريق Terminal 
وانت بداخل مجلد المشروع نفس المكان الذي تم تثبيت ملف Composer فيه 


php composer.phar

سيظهر لك التالي إذا تم التركيب بنجاح

Composer.jpg 

تثبيت Composer بشكل عام Globally

يمكنك تثبيت ملف Composer باي مكان لتستخدمه ولكن تستطيع تثبيت الملف بشكل عام ضمن
مسارات النظام وتستطيع استخدام الأداة حتى بدون استخدام PHP لتشغيل الملف بانظمة اليونكس 
وهو المفضل.

لتثبيت composer بمسار عام قم بتنفيذ هذا الأمر عن طريق Terminal 


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

في حالة فشل هذا الأمر بسبب الصلاحيات قم بتنفيذ الأمر mv باستخدام sudo

هذا الأمر يحتوي على sudo لضمان عملية التثبيت تتم بسلاسه بدون مشاكل الصلاحيات 
 


curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

بهذا الأمر استخدمنا أمر تحديد مكان التثبيت


--install-dir= 

وامر تحديد اسم الملف بعد التثبيت


 --filename=

ملاحظة مهمة: ببعض نسخ OSX المجلد usr ليس موجود بالأساس لذلك يجب ان تقوم انت بإنشاء هذا المجلد
في حال ظهر لك هذا الخطأ 


/usr/local/bin/composer: No such file or directory

قم بإنشاء مجلد usr بشكل يدوي قبل اتمام عملية التثبيت بواسطة هذا الأمر 


mkdir -p /usr/local/bin

للتاكد ان composer يعمل عن طريق Terminal قم بتنفيذ الأمر 


composer

وستحصل على نفس النتيجة السابقة ولكن الفرق هنا انه اصبحت الأداة متوفرة لك بشكل عام وتستطيع استخدامها بجميع مشاريعك البرمجية بنجاح

 

طرق إستخدام Composer 

الأن وبعد ان تعرفنا على Composer وطرق التثبيت يمكن البدء باستخدام الأداة لإدارة مشاريعك البرمجيه بكل يسر وسهولة عن طريق واجهة الأوامر سوف نوضح ابسط طرق الإستخدام بمقال آخر بإذن الله

كلمات دليلية:
0
إعجاب
4474
مشاهدات
0
مشاركة
0
متابع
متميز
محتوى رهيب

التعليقات (6)

cammac:

مقال ممتاز جدا 


معلومة إضافية :

من أين يأتي composer بالحزم أو المكتبات؟

https://packagist.org/ المصدر الأساسي لـ composer

محمود الزهراني:

جميل يا استاذ علي :rolleyes:

Ali Majrashi:

مقال ممتاز جدا 


معلومة إضافية :

من أين يأتي composer بالحزم أو المكتبات؟

https://packagist.org/ المصدر الأساسي لـ composer

يعطيك العافيه على أحلى إضافة

انا محتفظ بهالمعلومة للمقال القادم طرق استخدام Composer 

 

جميل يا استاذ علي :rolleyes:

والقادم اجمل بوجودكم :wub:

macdawne:

هل هذا الكومبوزر يتم تثبيته كذالك على السيرفر الإفتراضي ??

ماذا لو قمنا بتحميل المكتبات الأساسية يدويا دون استعمال هذه الأداة ? 

وشكرا جزيلا لكم على طرح هذا الموضوع في انتظار الرد...

Ali Majrashi:
22 ساعات مضت, macdawne said:

هل هذا الكومبوزر يتم تثبيته كذالك على السيرفر الإفتراضي ??

ماذا لو قمنا بتحميل المكتبات الأساسية يدويا دون استعمال هذه الأداة ? 

وشكرا جزيلا لكم على طرح هذا الموضوع في انتظار الرد...

شرحنا بالمقال طريقة تثبيت Composer وهي عندك طريقتين ياتثبته بجاهزك بشكل عام او تستخدمه داخل مجلد مشروعك

هذي الاداة وجدت لتسهيل حياة المبرمجين بادرة الحزم والمكتبات البرمجيه المعتمدين عليها في بناء مشاريعهم تقدر تحمل المكتبات يدوي وتستخدمها ولكن متعبه ماذا لو مشروعك يحتاج ١٠ مكتبات وكل مكتبة تحتاج من ٥ الى ١٠ مكتبات لتعمل هل راح تبحث عنهم وتثبتهم او تستخدم Composer و هو يثبتهم لك بكل سهوله ثانيا توفر كمية الملفات والمجلدات الي بالمشروع وتضمن ان المبرمجين بنفس الفريق يستخدمون نفس المكتبات وبالاصدارات المحدده بعملهم بالتطوير فلما تشارك مشروعك مع الفريق تعطيهم اكواد المشروع مع ملفات composer فقط وهم باستخدام composer يثبتون نفس المكتبات والادوات الي انت ثبتها عندك باستخدام composer وامور كثير توفرها الاداة هذي مجرد اساسيات لها 

macdawne:

شكر ا جزيلا لك وبارك الله فيك على التوضيح 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !