چاپ / PDF
امتیاز
(3 )

Composer یا کامپوزر چیست و چه کاربردی دارد

Composer یا کامپوزر چیست و چه کاربردی دارد

کامپوزر یا Composer چه ابزاری است و کاربردهای آن کدام است؟

اگر بتازگی شروع به یادگیری دوره های مرتبط با php و یا فریم ورکهای php کرده اید عبارت Composer را زیاد میشنوید.اگر بخواهیم در یک جمله آن را توصیف کنیم ، composer ابزاری برای مدیریت وابستگی ها میباشد. مدیریت وابستگی یا همان Dependency management نیز هم اکنون شاید مفهومی جدید برای شما باشد؟! پس ابتدا با Dependency management آشنا شویم و بعد بریم سراغ ابزار composer.

Dependency management چیست؟

وقتی شروع به کدنویسی میکنید و پروژه ی خاصی را استارت میزنید از همان ابتدا کتابخانه ها ، پلاگین ها و فریم ورکهای مختلفی را بر حسب نیاز خود باید به پروژه خود اضافه کنید.برای مثال برای چهارچوب css پروژه خود از Bootstrap استفاده کنید و یا برای برخی قسمت ها از JQuery و الی آخر ...

اتفاقی که اینجا رخ میدهد این است که در دل پروژه ما همزمان با رشد و توسعه خود ، کتابخانه های زیادی وارد میشود و به این دلیل که پروژه ما وابسته به این کتابخانه هاست به آنها Dependency میگوییم. حال اگر ابزاری باشد که بر روی این کتابخانه مدیریت داشته باشد به آن Dependency management میگوییم.  و این ابزار که عملیات مدیریت Dependency ها را انجام میدهد وظایف خاصی دارد که در ادامه ی این مقاله توضیح خواهیم داد.

وظایف Composer

همانطور که توضیح دادیم Composer یک Dependency management است که وظایف خاصی دارد اما یک وظیفه ی مهمی بر دوش Composer است و آن دانلود و بروزرسانی پکیج ها و کتابخانه ها و فریم ورکهایی است که شما در پروژه خود استفاده کرده اید.اگر بخواهیم ساده تر توضیح دهیم یهتر است یک مثال بزنیم ، اگر در پروژه ی خود از 3 یا چند کتابخانه مختلف استفاده کرده باشید و در حین انجام پروژه این کتابخانه ها بروزرسانی شده باشند مجبورید هر دفعه این کتابخانه را از سایت اصلی مجدد دانلود و جایگزین کتابخانه ی قدیمی خود کنید و این در حالی است که ابزار Composer همین کار را برای شما در چند ثانیه و تنها با یک دستور انجام خواهد داد و تمام بروزرسانی ها و یا دریافت پکیج های جدید را انجام خواهد داد.

نصب Composer

برای نصب کامپوزر کافیست که به وب سایت Composer به نشانی https://getcomposer.org/download و بخش دانلود مراجعه نمایید و بر حسب نوع سیستم عامل خود نسخه ی مورد نیازتان را دانلود و نصب کنید.در محیط ویندوز پس از دانلود و نصب نسخه ی مخصوص ویندوز میتوانید از دستورات Composer در Command line استفاده کنید.

برای اطمینان از صحت نصب و عملکرد کامپوزر کافیست که در CMD و یا PowerShell در ویندوز عبارت composer را تایپ کنید تا لیستی از دستورات کامپوزر برای شما نمایش داده شود.اکنون سوال مهمی پیش می آیند که چطور از composer استفاده کنیم؟!

روش استفاده از Composer

ابزار Composer پکیجهای مورد نیاز شما را باید از یک مخزن واحد دانلود کند.این مخزن واحد همان وب سایت Packagist.org میباشد. وب سایت پکیجیست یک وب سایت مرجع برای توسعه دهندگان میباشد که آخرین نسخه از پکیجهای خود را در این وب سایت آپلود میکنند و این مخزن همیشه در حال بروزرسانی است. زمانی که شما قصد نصب کردن پکیجهای مورد نیاز خود را دارید Composer با اتصال به وب سایت Packagist.org اقدام به دانلود نسخه ی مورد نظر شما میکند.

مطالعه کنید: لاراول یا Laravel چیست

حال این سوال پیش می آید که Composer از کجا میداند که من چه پکیجهایی برای توسعه پروژه ی خودم نیاز دارم که آنها را دانلود کند؟! جواب شما ساده است. برای مثال اگر شما از فریم ورک Laravel برای پروژه خود استفاده میکنید ، در روت فولدرهای فریم ورک لاراول یک فایل به نام composer.js را مشاهده میکنید که محتوای آن به شکل زیر است:

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.1.3",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.8.*",
        "laravel/tinker": "^1.0"
    },
    "require-dev": {
        "beyondcode/laravel-dump-server": "^1.0",
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^7.5"
    },

در این فایل composer.js مشخص میشود که ما به چه پکیجهایی نیاز داریم و پس از دانلود در کدام فولدر در پروژه قرار بگیرند.پس میبینید که عملکرد composer بسیار ساده است .