آموزش نصب کامپوزر (Composer)

آموزش نصب کامپوزر (Composer)

Composer یکی از ابزارهای مدیریتی و کتابخانه ای برای اجرای اسکریپت های PHP است که وظیفه ی مدیریت توابع رو بر عهده داره. composer یک ابزار در محیط Command Line است که امکان بروز بودن کتابخانه های مورد نیاز و تامین کتابخانه های پروژه ها را انجام میدهد.

Composer ابزاری برای مدیریت وابستگی های(Dependency) یک پروژه یا کتابخانه است. پیش از اینکه با واژه کامپوزر (Composer) آشنا شویم، باید مفهوم وابستگی (Dependency) را بدانیم. در واقع Dependencyها یا همان وابستگی‌ها، پکیج‌ها و یا کتابخانه‌هایی هستند که قبلا توسط توسعه دهندگان ایجاد شده و دیگر نیاز به نوشتن مجدد آن‌ها نیست. برای سهولت و کاهش زمان کدنویسی، سایر توسعه دهندگان می‌توانند از این وابستگی‌ها به صورت رایگان استفاده کنند.

مدیریت وابستگی ها (Dependency Managment)

با مفهوم Dependency یا وابستگی آشنا شدیم، اما سوال اینجاست که این وابستگی‌ها در کجا قرار دارند؟ چگونه می‌توانیم آن‌ها را به پروژه خود اضافه کنیم؟ 

بله درست حدس زدید، Composer همان ابزاری است که مدیریت منابع خارجی، دانلود و آپدیت پکیج‌ها و غیره را استاندارد سازی کرده و با استفاده از این رویکرد، مدیریت پروژه شما به مراتب آسان‌تر خواهد شد. کامپوزر (Composer) در ابتدای ماه مارس سال ۲۰۱۲ به صورت رایگان به دنیای برنامه نویسی عرضه شد و تاکنون استقبال بسیار خوبی از این ابزار صورت گرفته است.

Composer مشابه NPM در Nodjs و bandler در Roby است

 مدیریت وابستگی‌ها مفهوم جدیدی نیست، در واقع Composer از ابزار NPM در Nodjs و bandler در Roby الهام گرفته است. همچنین، Composer در حال حاضر برای PHP نسخه  ۵٫۳٫۲ به بالا قابل اجرا است، برای جلوگیری از خطاهای احتمالی حتما از PHP نسخه ۵٫۳٫۴ به بالا استفاده کنید.

دانلود پکیج ها توسط Composer

کامپوزر (Composer) یک ابزار Command Line است که می‌تواند توسط یکسری دستورات از پیش تعریف شده، وابستگی‌های پروژه را نصب، آپدیت و مدیریت کند. حال ممکن است این سؤال برای شما پیش بیاید که این ابزار، وابستگی‌های مورد نیاز را از کجا دانلود می‌کند، در پاسخ به این سؤال باید گفت که منبع وابستگی های کامپوزر (Composer) سایت Packagist.org است.

توسعه دهندگان کدهای تولید شده خود را در این سایت آپلود می‌کنند و سایر توسعه دهندگان با استفاده از کامپوزر (Composer) و دستورات آن، می‌توانند وابستگی‌های مورد نظر خود را به پروژه اضافه کنند.

نحوه نصب کامپوزر (Composer)

نصب کامپوزر پروسه‌ای بسیار راحت است، این پروسه در کمترین زمان انجام می‌شود.

نصب کامپوزر در سیستم عامل های تحت یونیکس Unix 

برای نصب کامپوزر، در خط فرمان دستورات زیر را اجرا کنید:

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

نصب کامپوزر در سیستم عامل ویندوز

نصب کامپوزر در سیستم عامل ویندوز بسیار راحت‌تر از سیستم عامل‌های تحت یونیکس است، برای این کار فقط کافی است که فایلComposer.exe را دانلود و نصب کنید.

چگونگی نصب وابستگی در پروژه توسط Composer

افزودن وابستگی به پروژه کار بسیار ساده و راحتی است. برای این کار فقط کافی است که یک فایل به نام Composer.json در ریشه پروژه خود ایجاد و از دستورات زیر برای نصب وابستگی‌های مورد نظر استفاده کنید:

همانطور که در کد بالا مشخص است، ویژگی به نام require وجود دارد که وابستگی‌

“php”: “>=5.3.3”, “zendframework/zendframework”: “~2.3” 

به آن اضافه شده است. پس برای افزودن وابستگی‌ها فقط کافی است که نام وابستگی به همراه نسخه مورد نظر آن را به ویژگی require اضافه کنیم.

پس از انجام مراحل بالا، برای نصب وابستگی‌ها، فقط کافی است که دستور زیر را در خط فرمان اجرا کنید:

مثالی از نحوه نصب وابستگی و افزودن آن به پروژه توسط Composer

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

برای مثال، می خواهیم فریم ورک لاراول را به پروژه خود اضافه کنیم. مراحل کار به صورت زیر خواهد بود:

۱- در مرحله اول فایل composer.json را ایجاد کرده و دستورات زیر را در آن قرار می‌دهیم:

پس از اجرای فرمان بالا، وابستگی‌ها در پوشه‌ای به نام vendor/ نصب می‌شوند.

بارگزاری وابستگی ها در پروژه به صورت خودکار

در زمان نصب وابستگی‌های پروژه در پوشه vendor/، همزمان در این پوشه فایلی به نام  autoload.php به صورت اتوماتیک ایجاد می‌شود. وظیفه این فایل بارگزاری خودکار وابستگی‌های نصب شده در پروژه است. برای استفاده از وابستگی‌ها، فقط کافی است که دستور  vendor/autoload.php را قبل از کدهای مورد نظر خود فراخوانی کنید:

اگر شما یک توسعه دهنده PHP هستید، Composer قطعا ابزار محبوبی برای شما خواهد بود.