PHP Composer چیست ؟

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

وقتی هر قسمت را از یکی از فریمورک‌ها (مانند Zend, Laravel, Symfony) بردارید، مدیریت پروژه بسیار پیچیده می‌شود. هر کدام از کتابخانه‌ها یک سری وابستگی‌ها دارند و شما در آخر به بن‌بست می‌رسید، بخصوص هنگامی که بخواهید کسان دیگری هم در این پروژه نیز همکاری داشته باشند.

در اینجا Composer وارد می‌شود. Composer یک Dependency Manager (مدیریت‌کننده وابستگی) برای PHP است. Composer وابستگی‌هایی که برای یک پروژه نیاز دارید را مدیریت می‌کند. این به این معناست که Composer تمامی کتابخانه‌ها و وابستگی‌ها را در یک مکان نگه می‌دارد.

این نوع مدیریت وابستگی‌ها در یک پروژه چیز جدیدی نیست و در واقع Composer الهام‌گرفته‌شده از npm و Bundler می‌باشد.

شما ممکن است درباره‌ی PEAR هم اطلاعاتی داشته باشید. PEAR یک مدیر بسته برای PHP می‌باشد که سال‌ها است مورد استفاده قرار می‌گیرد. اما PEAR توسط خیلی از توسعه‌دهنده‌گان PHP به چند دلیل دیگر زیاد مورد استفاده نیست. یکی از این دلیل‌ها این است که خیلی از کدها در PEAR به روز نیستند.

نصب Composer در سیستم‌های تحت یونیکس

نصب Composer واقعا آسان است و خیلی راحت توسط خط فرمان می‌توان آن را نصب کرد.

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

 

اولین فرمان فایل composer.phar رو دانلود می‌کند و فرمان دوم فایل composer.phar را به داخل پوشه اجرایی منتقل می‌کند.

حال با نوشتن فرمان زیر می‌توانید آن را اجرا کنید:

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

برای نصب composer در سیستم‌های ویندوزی کافی است فایل exe آن را از سایت سازنده دریافت کنید.

استفاده از Composer

برای شروع به کار با composer می‌توانید بسته‌های مورد نیاز را به پروژه اضافه کنید. برای ایجاد یک فایل پیکربندی Composer، شما باید یک فایل JSON در پوشه اصلی (root) پروژه خود ایجاد کنید.

برای مثال اگر بخواهیم از فریمورک Slim استفاده کنیم، باید داخل فایل composer.json این متن را بنویسیم:

 

برای نصب Slim توسط Composer می‌توانید از این فرمان استفاده کنید:

این فرمان به صورت خودکار Slim را دانلود کرده و در پوشه vendor/slim/slim قرار می‌دهد.

بارگذاری خودکار

وقتی که بسته‌های مختلفی را داریم, نیاز است تا آن‌ها را به صورت خودکار در پروژه بارگذاری کنیم. خوشبختانه Composer همراه با یک فایل بارگذاری خودکار می‌آید که این توانایی را داراست تا تمام فایل‌ها را به صورت خودکار در پروژه بارگذاری کند.

برای استفاده از امکان بارگذاری خودکار Composer کافی است این کد را در فایل اصلی پروژه اضافه کنید:

 

حال می‌توانید از تمام کتابخانه‌ها استفاده کنید، بدون این که نگرانی‌ای در رابطه با بارگذاری آن‌ها داشته باشید.

برای مثال:

اگر شما یک توسعه‌دهنده‌ی PHP هستید، Composer قطعا یک دوست صمیمی برای شما می‌شود و از آنجایی که استفاده از آن هر روز در حال افزایش است، در آینده به یک ابزار ضروری در توسعه وب با استفاده از PHP تبدیل می‌شود.
با استفاده از composer زبان PHP توسعه‌دهنده‌پسندتر (!) می‌شود و دیگر شما با کدهای کثیف و طولانی روبرو نخواهید شد. Composer یک مشکل بزرگ در PHP را حل کرده است. دیگر هیچ دلیلی نیست که بتواند جلوی شما رو از شروع کردن به یادگیری PHP بگیرد.
منبع: +

عرفان بشارت

یک توسعه دهنده نرم افزار که دوست داره دانش خودش رو با بقیه به اشتراک بزاره

همچنین ممکن است دوست داشته باشید ...

۱۱ واکنش

  1. آرمیشا گفت:

    سلام ، من به شخصه در پروژه های که با فریم ورک لاراول هستند از کمپوسر استفاده می کنم و خیلی کمک بزرگی هست و سرعت رو به طور چشمگیری بالا می بره

  2. siavash گفت:

    سلام ,
    من نتونستم با موفقیت نصبش کنم و این ارور رو گرفتم :

    Connection Error [ERR_CONNECTION]: Unable to connect to getcomposer.org

    Request to https://getcomposer.org/installer failed with errors:
    SSL: Handshake timed out. Failed to enable crypto. Failed to open stream: operation failed

    شما هم اگه این ارور رو گرفتید “v.p.n” رو فعال کنین حله 🙂

  3. محمد اعظمی گفت:

    کامپوسر به طور کلی ابزار خوبیه، ولی نمیدونم چرا روی ویندوز عنقدر کند عمل میکنه. مسئله فقط دانلود پکیج نیست ساختن autoloader هم خیلی کنده. من رو یاد تلویزیون های قدیمی میندازه که یه چایی میخوردی بعد روشن می شد ! :))

    • علی ذوقی گفت:

      سلام دوست عزیز
      مشکل از اینترنت هست و اینکه کامپوزر از ssl استفاده میکنه و ssl هم ظاهرا کمی مشکل داره در ایران

  4. erfan گفت:

    سلام

    ممنون از مطالب خوبتون….
    برای من ی مشکل پیش اومده لطفا کمکم کنید….
    من وقتی کامپوسر رو نصب می کنم پیغام زیر رو می ده…:

    The PHP exe file you specified did not execute correctly:
    C:\wamp\php\php.exe

    Running it from the command line might highlight the problem.
    Internal Error [ERR_INVALID], exit code 1

    وقتی هم در cmd اون رو (همون PHP رو) امتحان می کم این پیغام رو می ده….:
    Warning: PHP Startup: It is not safe to rely on the system’s timezone settings.
    You are *required* to use the date.timezone setting or the date_default_timezone
    _set() function. In case you used any of those methods and you are still getting
    this warning, you most likely misspelled the timezone identifier. We selected t
    he timezone ‘UTC’ for now, but please set date.timezone to select your timezone.
    in Unknown on line 0

    Fatal error: Directive ‘allow_call_time_pass_reference’ is no longer available i
    n PHP in Unknown on line 0

    توی داس می نویسم:
    PHP

  5. php گفت:

    مرسی عالی بود عرفان جان

  6. امیر گفت:

    ممنون همین توضیح شما کلی کمک کرد

  7. بهنام گفت:

    ممنون عرفان عزیز بابت مطلب خوبت 🙂

  8. hey گفت:

    به جای وی پی ان از قند شکن میشه استفاده کرد؟
    روی چه پورتی باید تنظیم بشه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *