بکندباز

composer چیست، چگونه نصب می شود و چه کاربردی دارد؟

composer چیست؟

composer ابزاری است که با استفاده از آن میتوانید کتابخانه هایی که برای پروژه php خود نیاز دارید را دانلود کنید. توجه داشته باشید که این ابزار هیچ پکیجی را روی سیستم شما (ویندوز، لینوکس و …) نصب نمی کند و فقط فایل های مورد نیاز برای یک پروژه را دانلود می کند. و پوشه ای شامل کتابخانه های دانلود شده در پوشه ی پروژه ی شما ایجاد می کند تا در همان پروژه استفاده شود.

فرض کنید که شما در پروژه ی خود به چند کتابخانه نیاز دارید. و فرض کنید یکی از آن کتابخانه ها خود به یک کتابخانه ی دیگر نیاز دارد. composer لیست کتابخانه های شما را میگیرد و آن ها را به همراه کتابخانه ی پیش نیازش دانلود و نصب می کند. و هر زمان کتابخانه ای نیاز به آپدیت داشت نیز، با یک دستور آنها را آپدیت می کند.

نصب composer در ویندوز

برای نصب کافیست فایل زیر را دانلود و نصب کنید.

Composer-Setup.exe

نحوه ی استفاده از composer

فرض کنید می خواهیم از کتابخانه ی monolog که یک کتابخانه ذخیره لاگ است در پروژه خود استفاده کنیم. برای معرفی لیست کتابخانه های مورد نیاز خود به composer باید فایلی به نام composer.json در پوشه ی اصلی هاست خود بسازید و لیست کتابخانه های مورد نیاز را در آن در کلیدی به نام require به شکل زیر بنویسید:

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

محتوای require یک آرایه ی json است که هر عضو آن نام کتابخانه و در مقابلش شماره ی نسخه آن است. composer در مخزن آنلاین کتابخانه ها به دنبال کتابخانه های مورد نیاز شما می گردد و آنها را دانلود و نصب می کند. به صورت پیشفرض در مخزنی به نام Packagist به دنبال کتابخانه ها می گردد. اگر کتابخانه ای نیاز داریم که در مخزن دیگری قرار دارد، نام آن مخزن را نیز می توان در این فایل تحت کلید repositories مشخص کرد.

نام کتابخانه

نام کتابخانه شامل نام سازنده ی آن کتابخانه و نام خود کتابخانه است که اغلب این دو با هم برابرند. کاربرد این شیوه ی نام گذاری در جایی است که دو توسعه دهنده ی مختلف یک کتابخانه ی یکسان نوشته باشند که برای مشخص کردن دقیق کتابخانه از این شیوه استفاده می کنیم. مثلاً کتابخانه ی json می تواند توسط دو نفر با نام igorw/json و seldaek/json ساخته شده باشد.

شماره نسخه کتابخانه

در اینجا ورژن انتخابی ما 1.0.* است به این معنی که هر ورژنی از شاخه ی 1.0 می تواند نصب شود.

نصب کتابخانه ها

پس از نوشتن محتویات فایل composer.json ترمینال را باز کرده و در آدرسی که فایل composer.json قرار دارد، دستور زیر را اجرا می کنیم:

php composer.phar install

 

اگر اولین باری باشد که این دستور را روی این فایل composer.json می کنید، composer همه ی کتابخانه ها را با آخرین نسخه معرفی شده (به جای *) دانلود کرده و آنها را در پوشه ای به نام vendor می ریزد. مثلاً در این مثال فایل های مربوط به کتابخانه ی monolog در پوشه ی vendor/monolog/monolog/ قرار می گیرند. اگر کتابخانه ی monolog پیش نیاز هایی نیز داشته باشد آنها نیز در همین پوشه ی vendor قرار می گیرند. وقتی نصب تمام شد، composer تمام اطلاعات مربوط به کتابخانه ها و نسخه ی دقیقی که نصب شده است را در فایلی به نام composer.lock ذخیره می کند.

اگر محتویات composer.json را تغییر داده و کتابخانه هایی را به آن اضافه کنید و دوباره دستور نصب را اجرا کنید، اکنون که فایل composer.lock در پوشه ی پروژه قرار دارد نصب کمی متفاوت می شود. در اینجا دوباره همه ی کتابخانه ها نصب می شوند با این تفاوت که دقیقاً ورژنی که در composer.lock برای آنها ثبت شده است نصب شده و ورژن های جدید تر نصب نمی شوند. این کار برای این است که اگر توسعه دهندگان مختلفی در حال کار روی این پروژه هستند، روی یک نسخه ثابت برنامه نویسی خود را انجام دهند.

اگر بخواهید کتابخانه ها به آخرین نسخه ی موجودشان به روز رسانی شوند، به جای دستور install باید از دستور update استفاده کنیم:

php composer.phar update

در اینجا همه ی کتابخانه ها به آخرین نسخه به روز می شوند و همچنین اطلاعات درون فایل composer.lock به آخرین ورژن کتابخانه ها تغییر پیدا می کند.

composer فایلی به نام autoload.php در پوشه ی vendor تولید می کند که برای استفاده از کتابخانه ها در پروژه خود باید این فایل را در پروژه خود include کنیم.

zohreh

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*