مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

آموزش کامپوزر ( Composer ) در PHP به زبان ساده

در ادامه مطالب مربوط به package manager ها به زبان PHP و package manager اون یعنی Composer می رسیم. Composer به شما اجازه می‌دهد که کتابخانه‌هایی را که برنامه شما به آن‌ها وابسته است را نصب و مدیریت کنید. در این مطلب نحوه استفاده و کار با Composer را توضیح می‌دهیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

نحوه کار با Composer

برای شروع کار با Composer باید آن را از سایت getcomposer.org دانلود و نصب کنید که نحوه نصب آن در محیط های مختلف به صورت کامل توضیح داده شده است. بعد از اینکه Composer نصب شد می‌توانید با استفاده از خط فرمان سیستم عامل به آن دسترسی داشته باشید. دقت داشته باشید که Composer برخلاف nuget امکانات ویژوالی ندارد و همه کارهای مدیریت پکیج ها را باید از طریق خط فرمان انجام بدهید(مانند npm). به این نکته دقت داشته باشید که قبل از اینکه بخواهید Composer را نصب کنید باید PHP بر روی سیستم شما نصب شده باشد که می‌توانید برای نصب آن از بسته xampp استفاده کنید.

استفاده از Composer

بعد از اینکه نصب Composer به درستی انجام شد می‌توانید در پروژه خود از آن استفاده کنید. مکانیزم این مدیر پکیج به این شکل است که مشخصات پکیج های پروژه را در فایلی به نام composer.json که یک فایل json است نگهداری می‌کند و فایل‌های مربوط به هر پکیج را در پوشه ای در پروژه به نام vendor می‌ریزد. برای اینکه در یک پروژه شروع به استفاده از Composer کنیم باید در محیط خط فرمان وقتی که در مسیر پروژه قرار داریم دستور زیر را وارد کنیم:

composer init

با زدن این دستور یک سری سؤالات از طریق خط فرمان از شما در مورد پروژه پرسیده می‌شود از جمله اینکه نام پروژه چیست و نام پکیج و توضیحات و نویسنده و …. بعد از اینکه سؤالات را پاسخ دادید با توجه به پاسخ‌های شما فایل composer.json شما ساخته می‌شود. برای مثال کد زیر حالت اولیه یک فایل composer.json را نمایش می‌دهد

{
"name":"project-name",
    "require": {}
       
    }

حال می‌توانید پکیج های مورد نیاز را در پروژه نصب کنید.

نصب پکیج در Composer

برای نصب پکیج ها از دستور require استفاده می کنیم. برای مثال اگر بخواهیم یک کتابخانه برای log گرفتن نصب کنیم از دستور زیر استفاده می‌کنیم.

Composer require monolog/monolog

با اجرای دستور بالا فایل‌های کتابخانه دانلود و داخل پوشه vendor ریخته می‌شود و همچنین قسمت فایل composer.json نیز به شکل زیر تغییر می کند

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

همانطور که در کد دیده می‌شود ورژن ۱ این کتابخانه به سیستم اضافه می‌شود و می‌توان در داخل پروژه از آن استفاده کرد.

فایل composer.lock

وقتی که بسته هایی را بر روی پروژه نصب می‌کنید مشاهده می‌کنید که در مسیر پروژه یک فایل جدید به نام composer.lock نیز اضافه می شود. این فایل شماره نسخه کتابخانه‌هایی را که بر روی پروژه شما نصب شده است را نگهداری می‌کند تا اگر زمانی شما یا هم تیمی های شما بخواهند کتابخانه‌ها را از اول نصب کنند همان نسخه ها نصب شود و پروژه شما درگیر تغییر نسخه کتابخانه‌ها نباشد. بنابراین بهتر است که اگر به صورت تیمی کار می‌کنید و از سورس کنترل ها استفاده می‌کنید این فایل را نیز commit کنید تا بقیه هم از پکیج ها با ورژن درست استفاده کنند.

چند دستور کاربردی Composer

دستور install: این دستور زمانی استفاده می‌شود که شما پروژه را از شخص دیگری دریافت کرده باشید. خب طبیعی است که شخص اول پکیج ها را به شما ندهد زیرا می‌توانید آن‌ها را خودتان نصب کنید. برای نصب پکیج ها از دستور install استفاده می شود. دقت کنید که این دستور زمانی استفاده می‌شود که پوشه vendor خالی است ولی فایل composer.json دارای لیست پکیج می باشد. این دستور تک تک پکیج ها را از فایل composer می‌خواند و آن‌ها را دانلود کرده و در داخل پوشه vendor قرار می‌دهد.

دستور update: اگر قصد داشته باشید که پکیج های خودتان را به آخرین ورژن موجود آپدیت کنید باید از این دستور استفاده کنید. این دستور لیست پکیج ها را از composer.json می‌خواند و آخرین نسخه آن را نصب می کند. و بعد از آن فایل composer.lock را نیز از ابتدا با توجه به نسخه های آپدیت شده می‌سازد.  با وب سایت توسینسو همراه باشید.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات