تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

آموزش سریع نصب Composer در دبیان


۵ بهمن ۱۴۰۴

خلاصه کنید:

openaigeminiperplexity

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

آنچه در ادامه می‌خوانید:

  • کامپوزر (Composer) در php چیست؟
  • ویژگی‌های اصلی کامپوزر
  • چرا باید از کامپوزر(Composer)
  • پیش‌نیازها
  • مرحله اول: نصب وابستگی‌های کامپوزر
  • مرحله دوم: دانلود و نصب کامپوزر
  • جمع‌بندی
  • سوالات متداول
نصب Composer در دبیان

کامپوزر (Composer) در php چیست؟

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

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

با هاست ابری PHP لیارا، بدون نیاز به پیکربندی و انجام تنظیمات، به‌راحتی وب‌سایت خود را راه‌اندازی کنید.
✅ دامنه‌ رایگان ✅ ترافیک نامحدود ✅ هزینه ساعتی
خرید هاست ابری PHP

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

یکپارچگی با ریپازیتوری Packagist: کامپوزر به‌صورت مستقیم با ریپازیتوری Packagist که بزرگترین مخزن(Repository) پکیج‌های php است، ارتباط دارد. این ریپازیتوری شامل پکیج‌های مفید و کاربردی می‌باشد که به‌راحتی می‌توانید از آن‌ها استفاده کنید.

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

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

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

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

برای آشنایی کامل با هاست رایگان PHP، مقاله زیر را از دست ندهید.
معرفی هاست رایگان PHP

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

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

  • مدیریت خودکار و دقیق وابستگی‌های پروژه
  • کنترل نسخه‌ها با استاندارد Semantic Versioning
  • autoload خودکار کلاس‌ها با PSR-4
  • دسترسی سریع به هزاران پکیج در Packagist
  • تضمین سازگاری تیم با فایل composer.lock
  • تفکیک وابستگی‌های اصلی و توسعه‌ای
  • ادغام آسان با CI/CD و ابزارهای DevOps
  • کاهش خطا با ساختار پایدار و نسخه دقیق
  • به‌روزرسانی سریع و امن با یک دستور

پیش‌نیازها

برای استفاده بهینه از مقاله، باید یک سرور مجازی با سیستم‌عامل دبیان ۱۲، همراه با یک کاربر non-root با دسترسی‌های sudo و یک فایروال فعال داشته باشید.

آموزش کامل، نحوه نصب LAMP روی اوبونتو ۲۲.۰۴ را در مقاله زیر می‌توانید مطالعه کنید.
نصب LAMP روی اوبونتو

مرحله اول: نصب وابستگی‌های کامپوزر

در ابتدای نصب Composer، علاوه بر پکیج‌هایی که ممکن است به‌صورت پیش‌فرض روی دبیان ۱۲ نصب شده باشند،به دو ابزار ضروری نیاز خواهید داشت:

  • php-cli برای اجرای اسکریپت‌های PHP از طریق خط فرمان
  • unzip برای استخراج فایل‌های فشرده‌شده

قبل از هر اقدامی، پکیج‌های موجود را با دستور زیر به‌روزرسانی کنید:

sudo apt update

پس از آن، باید یک سری پکیج ضروری را نصب کنید تا کامپوزر به‌درستی روی سیستم کار کند:

  • curl برای دانلود Composer
  • php-cli جهت اجرای Composer در خط فرمان
  • php-mbstring برای پشتیبانی از توابع خاص موردنیاز برخی کتابخانه‌ها
  • git که Composer از اون برای کلون کردن وابستگی‌ها استفاده می‌کنه
  • unzip برای باز کردن آرشیوهای فشرده‌شده

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

sudo apt install curl php-cli php-mbstring git unzip

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

مرحله دوم: دانلود و نصب کامپوزر

پیش از نصب، مطمئن شوید که در دایرکتوری اصلی کاربر(Home Directory) قرار دارید، سپس با دستور curl، فایل Composer installer دانلود کنید:

cd ~
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php

پس از آن، باید بررسی کنید که فایل installer دانلود شده با هش SHA-384 برای جدیدترین نسخه installer موجود در Composer Public Keys / Signatures مطابقت دارد.

با دستور curl، امضای جدیدترین نسخه را دریافت کرده و در یک متغیر shell ذخیره کنید:

HASH=`curl -sS https://composer.github.io/installer.sig`

حالا کد php زیر را اجرا کنید تا مطمئن شوید که اسکریپت نصب امن است و می‌توانید آن‌را اجرا کنید:

php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

پس از اجرای کد، خروجی زیر را مشاهده خواهید کرد:

Installer verified

نکته: اگر خروجی نشان دهد که، نصب کننده خراب (Installer corrupt) است، باید فرایند دانلود را بررسی کنید. یکی از دلایلی که چرا checksumها مهم است، همین است. در صورت وجود هرگونه تغییر در نسخه دانلودی شما، می‌توانید به‌راحتی با مقایسه checksum آن با نسخه اصلی، مشکل را شناسایی کنید.

پس از دانلود Composer installer، دستور زیر، کامپوزر را به‌عنوان یک فرمان با نام composer در مسیر /usr/local/bin دانلود و نصب خواهد کرد:

sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

خروجی دریافتی:

All settings correct for using Composer
Downloading...

Composer (version 2.3.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

معمولا، خروجی بالا نشان‌دهنده موفقیت‌آمیز بودن نصب Composer است.

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

composer
Output
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.3.5 2022-04-13 16:43:00

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display help for the given command. When no command is given display help for the list command
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi|--no-ansi           Force (or disable --no-ansi) ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
      --no-scripts               Skips the execution of all scripts defined in composer.json file.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

در نهایت، خروجی بالا تائید می‌کند که Composer با موفقیت روی سرور مجازی اوبونتو نصب شده است:) و به‌صورت عمومی در دسترس است.

جمع‌بندی

کامپوزر یک ابزار بسیار کاربردی و محبوب برای برنامه‌نویسان php است که به‌راحتی می‌توانند وابستگی‌های پروژه‌های خود را نصب و به‌روزرسانی کنند. با Composer می‌توانند از کدهای آماده و تست شده دیگر توسعه‌دهندگان استفاده کرده و نگرانی از بابت وابستگی‌‌های کتابخانه‌‌های استفاده شده در پروژه‌شان نداشته باشند. در آخر باید بگوییم که کامپوزر به‌عنوان استانداردی برای مدیریت وابستگی‌های پروژه در زبان پی‌اچ‌پی تبدیل شده است.

نحوه نصب وردپرس با LEMP روی سرور مجازی اوبونتو Ubuntu را در مقاله زیر می‌توانید مطالعه کنید.
نصب وردپرس با LEMP

سوالات متداول

کامپوزر در php چیست؟

کامپوزر یک ابزار مدیریت وابستگی (Dependency Manager) برای زبان برنامه‌نویسی php است که به کمک آن می‌توانید پکیج‌های خود را مدیریت کنید.

کامپوزر، پکیج‌ها را در کجا قرار می‌دهد؟

پس از دانلود و نصب بسته‌ها، همه آن‌ها در فولدر vendor پروژه php شما قرار می‌گیرند.

چگونه می‌توانم نسخه‌های خاصی از پکیج‌ها را با کامپوزر نصب کنم؟

برای نصب نسخه خاصی از یک پکیج، کافی است نسخه مورد نظر را در فایل composer.json مشخص کنید یا از دستور composer require package-name:^version استفاده کنید.