Composer چیست
5 1

Composer چیست

قبل از اینکه ببینیم کامپوزر composer چیست، اول باید با مفهومی تحت عنوان Dependency Management آشنا بشیم. زمانی که ما اقدام به برنامه نویسی می کنیم، فارغ از اینکه از چه فریم ورک یا زبان برنامه نویسی برای کدنویسی استفاده می‌کنیم گاهی اوقات نیاز به استفاده از کدها، پکیج ها، و لایبرری های سایر برنامه نویسان که به صورت متن باز در اینترنت عرضه شده‌اند داریم تا بتوانیم به جای آنکه خود اقدام به نوشتن کلاس خاصی کنیم، از کدهایی که قبلاً توسط سایر توسعه دهندگان نوشته شده و آزمایش خود را پس داده‌اند استفاده کنیم که از جمله این Dependency ها می‌توان به فریم ورک های سی اس اس، پلاگین های جی کوئری و سایر پروژه اشاره کرد.Composer چیست

Composer چیست

Composer چیست

Composer چیست

به طور خلاصه، کامپوزر(composer) ابزاری است که فرایند مدیریت Dependency ها را برای ما تسهیل می کند. برای آشنایی بیشتر با مفهوم مدیریت Dependency مثال ساده‌ای می زنیم. فرض کنید که شما قصد دارید یک وب سایت تک صفحه‌ای طراحی کنید و برای کدهای سی اس اس و جاوا اسکریپت خود می‌خواهید از فریم ورک فاندیشن استفاده کنید. برای استفاده از این فریم ورک دو راه‌کار پیش رو است: اول اینکه به وب سایت رسمی این فریم ورک رفته و پکیج آن را دانلود کرده و درون پروژه خود قرار دهید اما با استفاده از این روش اگر بخواهید کدهای فریم ورک خود را آپدیت کنید چه راه‌کاری به ذهن شما می رسد؟ این این فرایند دانلود، کپی و پیست کردن را مجدد تکرار می‌کنید یا راه‌کار به مراتب بهتری هم هست؟ نکته مهم اینجا است که اگر شما روی پروژه ای کار کنید که به جای یک فریم ورک، از چندین فریم ورک مختلف در آن استفاده شده باشد کار شما به مراتب دشوار تر خواهد شد.

Composer چیست

این همان چالشی است که مفهوم مدیریت Dependency آن را حل می کند. در واقع، با استفاده از مفهوم Dependency Management می‌توان ماژول ها، پکیج ها و فریم ورک های مد نظر خود را به صورت به مراتب بهتری انجام داد. به عبارت دیگر، مدیریت منابع خارجی روش دانلود پکیج ها، آپدیت آن‌ها و … را استانداردسازی کرده و با استفاده از این رویکرد، مدیریت پروژه شما به مراتب آسان‌تر خواهد شد. حال که متوجه شدیم مدیریت Dependency چیست، اکنون می بایست با ابزاری آشنا شویم که این کار را به سادگی برای ما به انجام خواهد رساند و این ابزار چیزی نیست جزء Composer. کامپوزر (composer)  در ابتدای ماه مارس سال ۲۰۱۲ به صورت رایگان به دنیا عرضه شد و تاکنون استقبال بسیار خوبی از این ابزار به‌خصوص از طرف برنامه نویسان زبان برنامه نویسی PHP صورت گرفته است.Composer چیست

Composer چیست

Composer چیست

Composer چیست

Composer چیست

زمانی که شما نرم افزار جدیدی می نویسید که از کتابخانه های دیگری استفاده میکند, میتوانید نام این کتابخانه ها را در فایل composer.json مربوط به نرم افزار خود قرار دهید تا هر فرد دیگری با استفاده از composer به راحتی تمام موارد مورد نیاز برای اجرای نرم افزار را به صورت خودکار دانلود و نصب نماید.Composer چیست

اگر با لینوکس کار می کنید برای نصب این ابزار کوچک می توانید از دستور زیر استفاده نمایید :Composer چیست

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

Composer چیست

این دستور فایلی را با نام composer.phar دانلود خواهد کرد که در واقع یک برنامه کوچک اجرایی (توسط PHP) است. بعد از دانلود میتوانید با استفاده از دستور php در ترمینال فایل composer.phar را اجرا نمایید.Composer چیست

اگر با ویندوز کار میکنید در CMD به پوشه نصب PHP وارد شوید و دستور زیر را وارد نمایید :Composer چیست

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

Composer چیست

برای اتصال به https بایستی php_openssl.dll فعال باشد. در غیر اینصورت از http استفاده نمایید.Composer چیست

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

{
    "require": {
        "library-name/a-library": "1.0.*"
    }
}

کلید require پر استفاده ترین کلید در این فایل است. دستورات بالا مشخص میکند که پروژه ما به کتابخانه ای با نام library-name/a-library نیاز دارد که ورژن این کتابخانه میتواند از 1.0.0 تا 1.0.9 باشد.Composer چیست

Composer چیست

پس از ذخیره فایل composer.json در محلی که composer.phar وجود دارد میتوانید با دستور زیر کتابخانه های مشخص شده را نصب نمایید:Composer چیست

php composer.phar install

در صورتی که دستور php ناشناخته باشد بایستی آدرس کامل فایل php را به جای php قرار دهید. مانند :

C:/wamp/bin/php/php.exe composer.phar install

با دستور بالا آخرین نسخه از نسخه های 1.0 کتابخانه a-library از مخازنی که composer شناسایی میکند یافت شده و دانلود میشود و در پوشه ای با نام vendor/library-name ذخیره می شود. همزمان فایلی نیز با نام composer.lock ایجاد می شود که در آن آخرین نسخه دانلود شده کتابخانه ها ذخیره می شوند. زمانی که این فایل وجود داشته باشد و دستور install را بزنید به جای آخرین نسخه، نسخه ای که در فایل lock ذخیره شده است دانلود و نصب خواهد شد. در واقع با این فایل پروژه شما روی ورژن خاصی که دانلود شده است قفل می شود. برای اینکه بتوانید از نسخه های جدید کتابخانه ها استفاده کنید بایستی از دستور update استفاده نمایید :

php composer.phar update

Composer چیست

پس از اجرای دستور، آخرین نسخه از کتابخانه ها بر اساس تنظیمات composer.json دریافت و نصب می شود و فایل composer.lock نیز به روز رسانی می شود. حال میتوانید فایل vendor/autoload.php را در پروژه خود require کرده و از کلاس های کتابخانه های مورد نظر استفاده نمایید.

Composer چیست

برای اینکه بتوانید پروژه خود را به صورت یک پکیج در composer قابل شناسایی کنید دو راه وجود دارد. یکی اینکه آدرس repository پکیج مربوطه را به صورت دستی در composer.json قرار دهید مانند زیر:

{
    "name": "acme/blog",
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/hello-world"
        }
    ],
    "require": {
        "acme/hello-world": "dev-master"
    }
}

با این کار ما پروژه ای که با نام hello-world در github ایجاد کرده بودیم را به عنوان یک نیازمندی در composer تعریف میکنیم.

روش دوم این است که شما پروژه خود را در سایت https://packagist.org ثبت نمایید. در این صورت نیازی به کلید repositories برای مشخص کردن مسیر پکیج نخواهید داشت.Composer چیست

Compoer چیست

Composer چیست

سایر آموزش ها :

آموزش نصب Composer

آموزش ساخت ربات تلگرام

آموزش مقدماتی PHP 2

خرید سرور مجازی

Composer چیست

TelegramGoogle+
error: