PHP

آموزش جامع و کاربردی کامپوزر (Composer)

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

توضیحات

کامپوزر (Composer) چیه؟

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

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

 

ویژگی‌های اصلی کامپوزر:

  1. مدیریت وابستگی‌ها
    شما می‌توانید مشخص کنید پروژه شما به چه کتابخانه‌ها و نسخه‌هایی نیاز دارد. کامپوزر به طور خودکار این وابستگی‌ها و وابستگی‌های مرتبط با آن‌ها را دانلود و نصب می‌کند.

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

  3. Autoloading
    کامپوزر به طور خودکار Autoloading را مدیریت می‌کند، یعنی شما نیازی به دستی وارد کردن فایل‌ها ندارید و همه کلاس‌ها به صورت خودکار در دسترس خواهند بود.

  4. نسخه‌بندی دقیق
    با استفاده از استاندارد Semantic Versioning، کامپوزر به شما امکان می‌دهد نسخه‌های خاصی از پکیج‌ها را نصب یا به‌روزرسانی کنید.

  5. به‌روزرسانی آسان
    با یک دستور ساده، کامپوزر تمام وابستگی‌ها را به آخرین نسخه‌ای که با پروژه شما سازگار است، به‌روزرسانی می‌کند.

چرا باید از کامپوزر استفاده کنیم؟

  • مدیریت بهتر وابستگی‌ها: به جای دانلود دستی فایل‌ها و مدیریت آن‌ها، کامپوزر همه چیز را خودکار می‌کند.
  • سازگاری: کامپوزر از تضادهای نسخه جلوگیری می‌کند و مطمئن می‌شود همه چیز هماهنگ است.
  • افزایش سرعت توسعه: شما به راحتی می‌توانید از هزاران پکیج آماده استفاده کنید.
  • انعطاف‌پذیری بالا: می‌توانید بسته‌های مختلفی را برای محیط‌های توسعه و تولید (development و production) مدیریت کنید.

این دوره ویژه چه کسانی هست؟

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

وقتی این دوره تموم کردم قدم بعدیم چی باشه؟

وقتی شما این دوره تموم کردی نیاز به دوره ای دیگه ای ندارید، اما توصیه من این هست که دانش خودتون همیشه زیاد زیاد تر کنید میتونید دوره های لاراولی و PHP رو دنبال کنید و هر کدوم نیاز داشتید تماشا کنید.

پرانتز برای یادگیری مناسب هست؟

پرانتز همیشه سعی کرده که بهترین کیفیت برای دانشجویان خودش فراهم کنه، پرانتز دانشجویانش دوست دارد و تلاش میکند تا در فضای عالی بتونند مهارت خودشون تقویت کنند. 

ما از خودمون تعریف نمیکنیم چون به خودمون اعتماد داریم و چیزی که بهترینه لازم به تعریف نیست :)

فقط کافیه خودتون مقایسه کنید!

فصل 1: معرفی کامپوزر

  • کامپوزر چیست و چرا به آن نیاز داریم؟
  • مدیریت وابستگی‌ها در پروژه‌های PHP.
  • نصب کامپوزر:
    • نصب در سیستم‌عامل‌های مختلف (ویندوز، مک، لینوکس).
    • بررسی نصب با دستور composer --version.

فصل 2: شروع کار با کامپوزر

  • ایجاد فایل composer.json:
    • توضیح ساختار این فایل.
    • اضافه کردن وابستگی‌ها به صورت دستی.
  • نصب بسته‌ها:
    • استفاده از دستور composer require.
    • نسخه‌بندی (Semantic Versioning) و قوانین آن.
  • حذف بسته‌ها:
    • دستور composer remove.
  • به‌روزرسانی بسته‌ها:
    • استفاده از composer update و تفاوت آن با composer install.

فصل 3: مدیریت وابستگی‌ها

  • آشنایی با Autoloading:
    • PSR-4 و PSR-0 چیست؟
    • تنظیم Autoload در composer.json.
    • اجرای Autoload با دستور require 'vendor/autoload.php'.
  • مدیریت وابستگی‌های Development و Production:
    • استفاده از --dev هنگام نصب بسته‌ها.
    • پاک کردن وابستگی‌های اضافی با دستور composer install --no-dev.

فصل 4: ابزارها و دستورات پیشرفته

  • کامندهای مهم:
    • composer dump-autoload برای بازسازی Autoload.
    • composer show برای نمایش اطلاعات بسته‌های نصب‌شده.
    • composer outdated برای شناسایی بسته‌های قدیمی.
  • استفاده از اسکریپت‌ها:
    • تعریف دستورات دلخواه در composer.json تحت scripts.

فصل 5: کار با مخازن (Repositories)

  • معرفی مخازن عمومی (Packagist) و خصوصی.
  • نحوه اضافه کردن یک مخزن سفارشی به composer.json.
  • ساخت و انتشار یک بسته در Packagist:
    • ساختار مناسب یک بسته Composer.
    • انتشار در Packagist و نکات مربوط به نسخه‌بندی.

فصل 6: بهینه‌سازی و رفع مشکلات

  • افزایش سرعت با composer install --optimize-autoloader.
  • حالت تعاملی در رفع مشکلات با composer diagnose.
  • نحوه مدیریت نسخه‌های ناسازگار.

فصل 7: مثال‌های کاربردی

  • ساخت پروژه واقعی با استفاده از کامپوزر:
    • نصب بسته‌های پرکاربرد (Laravel, Symfony Components, Guzzle).
    • ایجاد یک پروژه شخصی با ساختار مدرن.

در این دوره آموزشی چه چیزهایی یاد خواهید گرفت؟

  • Composer
  • Autoloading
  • PSR
  • Package
  • Package Requirements نصب کامپوزر در ویندوز
  • نصب کامپوزر در لینوکس
  • نحوه نصب پکیج با استفاده از GitHub
  • نحوه نصب پکیج با استفاده از Packagist
  • نحوه آپدیت کردن پکیج در کامپوزر
  • نحوه حذف کردن پکیج در کامپوزر
  • آشنایی با فایل composer.lock
  • آشنایی با پوشه Vendor و فایل autoload.php
  • کار با Composer Properties
  • کار با Config ها در کامپوزر
  • نحوه ساخت یک دستور اختصاصی در کامپوزر
  • کار با Scripts در کامپوزر
  • کار با Extra در کامپوزر
  • کار با Authoris در کامپوزر
  • کار با Composer Commands
  • کار با دستور install در کامپوزر
  • کار با دستور require در کامپوزر
  • کار با دستور init در کامپوزر
  • کار با دستور dump-autoload در کامپوزر
  • کار با دستور global در کامپوزر
  • کار با دستور update در کامپوزر
  • کار با دستور reinstall در کامپوزر
  • کار با دستور show در کامپوزر
  • کار با دستور create-project در کامپوزر
  • کار با دستور self-update در کامپوزر
  • نحوه آپدیت کردن ورژن کامپوزر
  • کار با Autoloading در کامپوزر
  • کار با Autoloading Dev در کامپوزر
  • کار با Files در کامپوزر
  • کار با Require Dev در کامپوزر
  • مینی پروژه در Composer

یش نیاز های دوره

مدرس دوره

میلاد خسروی
Fun Developer
  • 303 دانشجو
  • 396 جلسه تدریس کرده

برنامه نویس فان | Fun Developer

یک آدم ساده که عاشق برنامه نویسی و کد زدنه :)

تلاش میکنه تا به بقیه کمک کنه.

جلسات دوره

آزمون های دوره

نظرات (1)

  • baran abbasi
    baran abbasi 1402-05-22 پاسخ

    چندتا پیشنهاد در رابطه با UI/UX سایت داشتم اولا دکمه دانلود و برگشت به صفحه دوره از بالا مارجین ندارن و بهم چسبیدن دوما امکان کامنت نوشتن در صفحه ویدیو وجود نداره و باید برگردیم به صفحه اصلی دوره سوم امکان playback speed به پلیلر اضافه کنید چهارم جلوی ویدیوها یه تیکی چیزی بزنین که مشخص بشه تا کدوم ویدیو دیده شده. ادم دو روز بعد برمیگرده مشخص بشه تا کجا دیده

  • Parantes
    Parantes 1402-05-22 پاسخ

    سلام خسته نباشید بله حتما، در لیست انجام قرار میگیرد، ممنون از نظر خوبتون با تشکر، تیم پشتیبانی پرانتز


نظر خود را با ما در میان بگذارید 🔥