اگر قصد دارید تبدیل به یک برنامه نویس PHP شوید، در این مسیر حتما نام ابزار کامپوزر یا Composer به گوش شما خواهد رسید. معمولا بسیاری از کارهایی که برنامه نویسان در پروژههای مختلف انجام میدهند، تکراری هستند. برای جلوگیری از انجام اینگونه کارها در فرآیند برنامه نویسی زبان PHP، ابزاری به نام کامپوزر توسعه داده شد. با استفاده از این ابزار برنامه نویسان میتوانند از کتابخانهها و پکیجهای نوشته شده توسط دیگر توسعه دهندگان استفاده کنند.
کامپوزر یک ابزار کامند لاین است که به منظور کاهش وابستگی نرم افزارها (Dependency Managment) به کتابخانهها و پکیجهای خارجی ارائه شده است. با استفاده از این ابزار به راحتی میتوان پکیجها و کتابخانههای کاربردی را دریافت و مدیریت کنید. به عبارت دیگر کامپوزر، فرآیند دانلود پکیج ها، بروزرسانی آنها و … را ساده و استاندارد کرده است. اگر علاقه مند به آموزش نصب کامپوزر و استفاده از این ابزار کاربردی هستید در ادامه این مطلب همراه ما باشید.
آموزش نصب کامپوزر
به صورت کلی، دو روش برای نصب و استفاده از کامپوزر وجود دارد. این روشها عبارتند از روش محلی (Locally) و سراسری (Globally) که با بکارگیری هر کدام از آنها میتوان از کامپوزر استفاده کرد. زمانی که از روش محلی برای نصب کامپوزر استفاده شود، این ابزار به عنوان بخشی از پروژه در آن تعریف میشود. اما اگر از روش سراسری استفاده شود، Composer در تمام سیستم قابل اجرا خواهد بود. باید این نکته را در نظر بگیرید که کامپوزر پکیجها و کتابخانهها را به صورت سراسری در سیستم نصب نمی کند، بلکه هر یک از آنها فقط در پروژه مورد نظر تعریف میشود.
آموزش نصب کامپوزر در ویندوز
سادهترین روش نصب این ابزار روی سیستم عامل ویندوز، استفاده از فایل نصبی Composer است. این روش کامپوزر را به صورت سراسری در سیستم نصب میکند. برای استفاده از این ابزار در پروژههای خود، باید از ورژنهای 5.3.2 و بالاتر PHP استفاده کنید. Composer یک ابزار مولتی پلتفرم است، یعنی به راحتی بر روی سیستم عاملهای ویندوز، مک و لینوکس اجرا میشود. و برای نصب این ابزار ابتدا باید ابزار آن را باید دانلود کنید. برای دانلود کامپوزر به سایت رسمی این برنامه به نشانی getcomposer.org مراجعه کنید. برای دانلود آخرین نسخه این برنامه مطابق عکس زیر بر روی Download کلیک کنید.
در صفحه بعد که هدایت میشوید، روشهای مختلفی برای نصب Composer وجود دارد. و در این بخش سادهترین روش نصب این ابزار بررسی میشود. در این صفحه برای دریافت فایل نصبی Composer بر روی عبارت Composer-Setup.exe کلیک کنید.
پس از دریافت فایل اجرایی Composer، آن را اجرا کنید و مراحل را مانند تصاویر دنبال کنید. در این مرحله از نصب باید نشانی فایل اجرایی php را برای نصب Composer مشخص نمایید. فایل اجرایی PHP معمولا توسط نرم افزارهایی مانند Xampp، Wamp و… نصب میشود. البته معمولا فایل نصبی به صورت اتوماتیک آدرس فایل اجرایی PHP را شناسایی میکند. اگر نرم افزار نصب نتوانست به صورت خودکار این فایل را شناسایی کند، لازم است تا با زدن دکمه Browse این مرحله را به صورت دستی پیش ببرید. پس از انجام این کار، بر روی گزینه Next کلیک کنید.
برای نصب این ابزار باید به اینترنت متصل باشید. پس این مرحله، دیگر نیازی به تغییرات و انجام عمل خاصی وجود ندارد و کافی است بر روی گزینههای Next و در نهایت Install کلیک کنید.
تبریک میگوییم، Composer شما نصب شده است. اکنون قادر خواهید بود تا با اجرای دستور composer در دایرکتوری مربوط به هر پروژه، از این ابزار استفاده کنید و به پکیجها و کتابخانههای بسیار زیادی دسترسی پیدا کنید.
آموزش نصب Composer در سیستم عاملهای لینوکسی
همانطور که اشاره شد، Composer یک ابزار مولتی پلتفرم است. بنابراین میتوان این ابزار را روی سیستم عامل هایی مثل مکینتاش و لینوکس نصب کرد. نصب Composer با این روش واقعا آسان است و خیلی راحت توسط خط فرمان می توان آن را نصب و فعال کرد. برای نصب Composer در این سیستمها از دستورهای زیر استفاده کنید:
curl -s https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
اولین دستور، فایل composer.phar را در سیستم دانلود می کند. دستور دوم این فایل را به داخل پوشه اجرایی انتقال میدهد. در این مرحله کافی است دستور زیر را اجرا کنید تا کامپوزر اجرا شود.
composer
زمانی که پکیجها و کتابخانههای مختلفی را داریم, نیاز است تا آنها را به صورت خودکار در پروژه بارگذاری کنیم. کامپوزر این عمل را همراه با یک فایل بارگذاری خودکار انجام میدهد. یعنی این ابزار این توانایی را دارد که تمام فایلهای مربوط به پکیجها و کتابخانهها را به صورت خودکار در پروژه بارگذاری کند. برای استفاده از این امکان است، این کد را در فایل اصلی پروژه اضافه کنید:
require 'vendor/autoload.php';
پکیجهای PHP چگونه توسط کامپوزر دریافت میشوند؟
منبع اصلی پکیجها و کتابخانههای کامپوزر سایت Packagist است که به عنوان مخزن پیش فرض پروژههای PHP شناخته میشود. در این سایت توسعه دهندگان مختلف، کتابخانهها و پکیجهای مختلف پروژه های خود را در دسترس سایر برنامه نویسان قرار میدهند. بر این اساس با استفاده از ابزار کامپوزر به راحتی میتوان به کتابخانهها و پکیجهای بسیار زیادی که با زبان PHP توسعه داده شده اند، دسترسی پیدا کرد.
زمانی که با استفاده از کامپوزر، از یک پکیج در پروژه بارگذاری شود و این پکیج نیازمند پکیجهای دیگری باشد، کامپوزر بدون نیاز به اقدام خاصی از جانب برنامه نویسی، آن را دانلود میکند و در پروژه قرار می دهد. با توجه به این ویژگی، در فرآیند برنامه نویسی نگرانی از بابت وابستگیهای کتابخانههای استفاده شده در پروژه به وجود نخواهد آمد. همچنین یکی دیگر از وظایف کامپوزر، مدیریت بارگزاری کلاسها است. یعنی تنها در صورتی یک کلاس در پروژه بارگزاری میشود که در کدها استفاده شده باشد. این امر تاثیر بسیار زیادی در سرعت بارگزاری پروژه خواهد داشت.
کامپوزر چگونه کار میکند و چرا اهمیت دارد؟
کامپوزر با استفاده از فایل پیکربندی به نام composer.json در ریشه پروژه کار میکند. در این فایل، شما مشخص میکنید که پروژهتان به چه پکیجها یا کتابخانههایی نیاز دارد و چه نسخههایی از آنها باید نصب شوند. وقتی دستور composer install یا composer update اجرا میشود، کامپوزر این فایل را خوانده و تمام وابستگیهای مشخص شده را از مخزن Packagist دانلود و نصب میکند.
این فرآیند باعث میشود برنامهنویس دیگر نگران دانلود دستی کتابخانهها، مدیریت نسخهها و حل مشکلات وابستگی نباشد. علاوه بر این، کامپوزر قابلیت تعریف محدوده نسخهها را دارد تا از ناسازگاری احتمالی جلوگیری کند و به برنامهنویس اجازه میدهد پروژهای پایدار و قابل توسعه داشته باشد.
مزایای استفاده از کامپوزر
مدیریت خودکار وابستگیها: کامپوزر تمام کتابخانهها و پکیجهای مورد نیاز پروژه را به صورت خودکار نصب و بهروزرسانی میکند.
بارگذاری خودکار کلاسها (Autoloading): با استفاده از قابلیت autoload، نیازی به include یا require دستی فایلهای کلاس نیست و فقط کلاسهای مورد استفاده بارگذاری میشوند.
بهبود سازماندهی پروژه: فایل composer.json به عنوان سندی رسمی، وابستگیهای پروژه را مشخص میکند که همکاری تیمی و نگهداری پروژه را آسانتر میکند.
امکان استفاده از کتابخانههای متنوع: به دلیل وجود مخزن گسترده Packagist، دسترسی به هزاران پکیج آماده فراهم شده است که میتواند سرعت توسعه را افزایش دهد.
نسخهبندی دقیق: کامپوزر به شما اجازه میدهد نسخههای مشخصی از پکیجها را انتخاب کنید تا از بروز مشکلات ناشی از نسخههای ناسازگار جلوگیری شود.
چند نکته مهم در استفاده از کامپوزر
- همواره پس از اضافه کردن یا بهروزرسانی وابستگیها در composer.json، دستور composer update را اجرا کنید تا تغییرات اعمال شود.
در پروژههای تیمی بهتر است فایل composer.lock نیز به همراه کد در نسخه کنترل قرار بگیرد تا همه اعضا با نسخههای یکسانی کار کنند.
توجه کنید که پس از نصب کامپوزر، بهتر است مسیر آن به PATH سیستم اضافه شود تا در همه جای ترمینال بتوانید از دستور composer استفاده کنید.
جمع بندی
کامپوزر یکی از ابزارهای حیاتی برای برنامهنویسان PHP است که با مدیریت وابستگیها، سادهسازی بارگذاری کلاسها و تسهیل استفاده از کتابخانههای آماده، به افزایش کیفیت و سرعت توسعه پروژهها کمک میکند. آشنایی و تسلط بر این ابزار برای هر توسعهدهنده PHP یک مهارت ضروری به شمار میرود. با یادگیری و استفاده صحیح از کامپوزر، میتوانید فرآیند برنامهنویسی خود را به طرز چشمگیری بهبود بخشید و پروژههایی منظمتر و حرفهایتر تولید کنید.