معرفی Composer

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

درحال حاضر تعدادی فریموورک php وجود دارند که این مشکلات را حل نموده اند که بدینویسله میتوانید اجزاء مورد نیاز از یک فریموورک php را به آسانی در پروژه های خود دوباره مورد استفاده قرار دهید و ابزاری که این خلاء را در php جبران نموده است Composer نام دارد ، composer یک ابزار مدیریت وابستگی ها (ِDependency Manager) برای php است. composer میتواند وابستگی ها و ابزار های مورد نیاز برای اجرای یک کلاس یا کل پروژه شما  را مدیریت کند بدین معنا که تمامی وابستگی ها (کتابخانه و کلاسها) مورد نیاز پروژه شما را بصورت خودکار دانلود میکند و در یک مکان از پروژه شما قرار میدهد .

مثلا اگر شما از پکیج Authentication برای پروژه خودتان استفاده کرده باشید و این پکیج نیازمند پکیج دیگری با عنوان SESSION باشد composer بدون دخالت شما آن را دانلود میکند و در پروژه قرار میدهد .

یکی دیگر از وظایف composer مدیریت لود کلاس ها می باشد و عملکرد آن به گونه ای است که تنها زمانی یک کلاس لود خواهد شد که شما در کد  آن را فراخوانی کرده باشید که این امر تاثیر بسیار زیادی در سرعت لود پروژه شما خواهد داشت .

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

شما میتوانید لاراول را مانند یک پکیج به آسانی برروی سیستم خود نصب کنید . مستنداتی در این زمینه

لاراول بطور کامل از composer پشتیبانی میشود و شما به راحتی میتوانید تمامی پکیج های موجود در سایت packagistو Packalyst به پروژه خود اضافه کنید .

برای مثال برای نصب پکیج illuminate/html ابتدا باید  “illuminate/html”: “~۵٫۰”  را به فایل composer.json اضافه کنید .

و همیچنین فایل  config/app.php به صورت زیر باشد