لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
Composer چیست و به چه دردی می خورد؟

Composer چیست و به چه دردی می خورد؟

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

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

حال که متوجه شدیم مدیریت Dependency چیست، اکنون می بایست با ابزاری آشنا شویم که این کار را به سادگی برای ما به انجام خواهد رساند و این ابزار چیزی نیست جزء Composer. کامپوزر در ابتدای ماه مارس سال ۲۰۱۲ به صورت رایگان به دنیا عرضه شد و تاکنون استقبال بسیار خوبی از این ابزار به‌خصوص از طرف برنامه نویسان زبان برنامه نویسی PHP صورت گرفته است. به طور خلاصه، کامپوزر یک ابزار Command Line است که در آن با استفاده از یکسری دستورات از پیش تعریف شده، می‌توان به مدیریت منابع خارجی برای استفاده در پروژه خود پرداخت. حال ممکن است این سؤال برای شما پیش بیاید که ابزار کامپوزر پکیج های مورد نیاز را از کجا دانلود می کند. در پاسخ به این سؤال باید گفت که منبع اصلی که کامپوزر از آن استفاده می‌کند سایتی تحت عنوان Packagist.org است که به عنوان فضایی می باشد که توسعه دهندگان فریم ورک هایی که می‌نویسند را در آنجا آپلود کرده و از آن پس با استفاده از کامپوزر می‌توان به کلیه پکیج های قرار گرفته روی این سایت دسترسی داشت. کامپوزر را هم روی ویندوز می‌توان نصب کرد و هم روی سیستم عامل هایی که بر پایه یونیکس هستند مثل مکینتاش و لینوکس (ورود به سایت Composer). زمانی که شما می‌خواهید از این ابزار استفاده کنید، صرفاً نیاز به یک فایل تحت عنوان composer.json خواهید داشت که کدهای قرار گرفته داخل آن چیزی شبیه به کدهای زیر است:

{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"zf2"
],
"homepage": "http://framework.zend.com/",
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "~2.3"
}
}

همان‌طور که در کد فوق ملاحظه می شود، نیازمندی های پروژه شما در بخش require آمده است. برای مثال، در کد فوق ما دستور داده‌ایم که به زبان برنامه نویسی پی اچ پی نسخه ۵.۳.۳ و همچنین فریم ورک زند نسخه ۲.۳ نیاز داریم. حال صرفاً نیاز است تا از طریق پنجرهCommand Line وارد فولدر پروژه مد نظر خود شده و دستور composer install را اجرا کنیم. بسته به پکیج هایی که در بخش require تعریف کرده ایم، کلیه پکیج ها دانلود شده و برخی تنظیمات اولیه هم به صورت خودکار صورت می پذیرد.



بهزاد مرادی