استفاده از کامپوزر در پروژه‌های شخصی PHP

کامپوزر چیست ؟

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

 

چرا کامپوزر به وجود اومد ؟

فرض کنید یه پروژه دارید که از 20 تا کتابخانه مجزا استفاده می کنه. این کتابخونه ها برای کپی کردن و اینکلود کردن توی پروژه ها حسابی وقتتون رو میگیرن. خوب با کامپوزر راحت با یه دستور دو سه کلمه ای همه این کارها انجام میشه. ثانیا اینکه اگه این کتابخونه ها بروز بشند فقط کافیه دستور آپدیت رو توی کامپوزرتون بزنید تا شمام از آخرین نسخه استفاده کنید. آخرین کارکرد هم اینکه همیشه یه لیست از کتابخانه هایی که توی هر پروژه استفاده کردید جلوی چشمتون هست. راحت می تونید اضافاتش رو حذف کنید.

 

چطوری ازش استفاده کنیم ؟

اول از همه باید برید سایت getcomposer.com و آخرین نسخه اش رو بگیرد و نصب کنید. در حین روند نصب ازتون یه نسخه php هم میخواد که قبلش اگه wamp نصب کردید، کافیه برید از همونجا آدرس یک از نسخه های Php که همراه ومپ نصب میشه رو بهش بدید. مثلا Php 7.3. بعدش یه پنجره cmd باز کنید (Windows+R و بعدش دستور CMD)  و داخلش تایپ کنید Composer --version. اگه به درستی نصب شده باشه، بهتون نسخه کامپوزر رو اعلام می کنه.

 

 

توی پروژه های عادی PHP که هیچ فریمورکی نداره و توی Wamp یا Xampp داریم می نویسیم هم میتونیم از کامپوزر استفاده کنیم ؟

بله. فقط کافیه یه فایل خالی توی پروژه ایجاد کنید به اسم composer.json و بعد مطابق راهنمایی که توی سایتش هست، یه ساختار JSON توی فایل ایجاد کنید. از الان به بعد وقتی می خواید از کامپوزر توی پروژه اتون استفاده کنید، کافیه توی ترمینال برید به آدرس پروژه و مابقی کارها رو انجام بدید.