Composer ابزاری برای مدیریت وابستگی در پروژههای PHP است (همانطور که npm به Node.js یا pip به Python است). به زبان ساده تر گاهی اوقات که یک پروژه را استارت میزنید جدای اینکه از خود زبان برنامه نویسی php استفاده میکنید ، نیاز می باشد از پکیج و کتابخانه های سایر برنامه نویسان که به صورت اپن سورس عرضه شده ، برای سرعت در توسعه پروژه خود استفاده کنید. Composer تمام بسته های PHP مورد نیاز خود را که پروژه شما به آن بستگی دارد جمع کرده و آنها را برای شما مدیریت می کند. در همه چارچوب ها و سیستم عامل های مدرن PHP مانند Laravel ، Symfony ، Drupal و Magento 2 استفاده می شود. اگر عجله دارید و نمی خواهید صحت فایل را تأیید کنید ، میتوانید به بخش نصب سریع Composer بروید. با ما همراه باشید تا در این مقاله شما عزیزان را با نحوه نصب و استفاده از Composer در CentOS 8 آشنا کنیم.
پیش نیازها :
قبل از ادامه اطمینان حاصل کنید که شرایط زیر را داشته اید:
مراحل زیر را برای نصب Composer در CentOS 8 انجام دهید.
۱_ بسته PHP CLI (رابط خط فرمان) و سایر وابستگی ها را با موارد زیر نصب کنید:
sudo dnf install php-cli php-json php-zip wget unzip
۲_ پس از نصب PHP CLI ، اسکریپت نصب کننده Composer را دانلود کنید:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
دستور بالا فایلی به نام composer-setup.php را در فهرست کار فعلی دانلود می کند.
۳_ با مقایسه SHA-384 hash فایل با hash که در صفحه کلیدهای عمومی / امضاء Composer موجود است ، یکپارچگی داده ها را تأیید کنید. دستور wget زیر امضای آخرین نصب کننده Composer را از صفحه Composer’s Github دانلود کرده و آن را در متغیری به نام HASH ذخیره می کند:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
برای تأیید خراب نبودن اسکریپت نصب ، دستور زیر را اجرا کنید:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
اگر hash ها مطابقت داشته باشند ، پیام زیر نشان داده می شود:
Installer verified
در غیر این صورت ، اگر hash ها مطابقت نداشته باشند ، Installer corrupt می بینید. پس از تأیید صحت ، با مرحله بعدی ادامه دهید.
۴_ برای نصب Composer در دایرکتوری / usr / local / bin ، دستور زیر را اجرا کنید:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
دستور بالا Composer را به عنوان یک دستورالعمل در کل سیستم نصب می کند و برای همه کاربران در دسترس است. خروجی چیزی شبیه به دستور زیر خواهد بود:
All settings correct for using Composer Downloading... Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
composer -V
Composer version 1.10.1 2020-03-13 20:34:27
۱_ PHP CLI و Zip را نصب کنید:
sudo dnf install php-cli php-json php-zip curl unzip
۲_ دانلود Composer با curl:
curl -sS https://getcomposer.org/installer |php
۳_ فایل Composer را به دایرکتوری / usr / local / bin انتقال دهید:
sudo mv composer.phar /usr/local/bin/composer
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
در این مثال ، ما از یک بسته PHP به نام carbon برای ایجاد یک برنامه کاربردی نمونه استفاده می کنیم که زمان فعلی را چاپ می کند. برای راه اندازی یک پروژه جدید Composer و نصب بسته carbon ، دستور زیر را اجرا کنید:
composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 4 installs, 0 updates, 0 removals - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%) - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%) - Installing symfony/translation (v5.0.6): Downloading (100%) - Installing nesbot/carbon (2.32.1): Downloading (100%) symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance) symfony/translation suggests installing symfony/config symfony/translation suggests installing symfony/yaml symfony/translation suggests installing psr/log-implementation (To use logging capability in translator) Writing lock file Generating autoload files ۳ packages you are using are looking for funding. Use the `composer fund` command to find out more!
همانطور که در خروجی بالا مشاهده می کنید ، Composer فایلی به نام composer.json ایجاد می کند و carbon و تمام وابستگی های آن را دانلود می کند. اگر دایرکتوری پروژه خود را لیست کنید ، می بینید که شامل دو فایل composer.json و composer.lock و یک دایرکتوری vendor است.
ls -l
-rw-rw-r--. 1 vagrant vagrant 60 Mar 27 18:05 composer.json -rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock drwxrwxr-x. 6 vagrant vagrant 82 Mar 27 18:06 vendor
Composer دارای قابلیت دانلود خودکار است که به شما امکان می دهد بدون نیاز به require یا include از کلاس های PHP استفاده کنید. فایلی با نام test.php ایجاد کنید و کد زیر را اضافه کنید:
<?php require __DIR__ . '/vendor/autoload.php'; use Carbon\Carbon; printf("Now: %s", Carbon::now());
اسکریپت را با دستور زیر اجرا کنید:
php testing.php
خروجی باید مانند دستور زیر باشد:
Now: 2020-03-27 22:12:26
بعداً ، اگر می خواهید بسته های PHP خود را به روز کنید می توانید به سادگی با اجرا دستور زیر آپدیت کنید:
composer update
دستور بالا نسخه های جدیدتر بسته های نصب شده را بررسی می کند و اگر نسخه جدیدتری پیدا شود و محدودیت نسخه با آن مشخص شده در composer.json مطابقت داشته باشد ، Composer بسته را به روز می کند.
شما یاد گرفته اید که چگونه Composer را روی دستگاه CentOS 8 خود نصب کنید. ما همچنین به شما نشان دادیم که چگونه از Composer برای ایجاد یک پروژه PHP استفاده کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊