Приликом израде софтвера, било да се ради о једноставном или сложеном пројекту, готово се претпоставља да ће софтвер зависити од неких екстерних библиотека, модула или компоненти да би исправно функционисао. Ови спољни ресурси потребни да би софтвер исправно функционисао познати су као зависности.
Ефикасно управљање зависностима у било ком пројекту је кључни процес. Срећом, постоје различити алати дизајнирани да аутоматизују управљање зависностима и олакшавају програмерима. Као програмер, на ваш алат за управљање зависношћу ће утицати језик и екосистем у којем радите.
У случају да градите своје пројекте помоћу ПХП-а, не бисте требали тражити даље од Цомпосер-а као алата по избору за управљање зависностима у вашим пројектима.
Преглед садржаја
Шта је композитор?
Композитор је популаран алат који је дизајниран и направљен за управљање зависностима у ПХП-у. Цомпосер, који је у великој мери инспирисан нпм-ом чвора и руби-овим бундлером, омогућава вам да прогласите спољне библиотеке од којих зависи ваш ПХП пројекат и он ће њима управљати уместо вас.
То значи да ће Цомпосер инсталирати све зависности потребне вашем пројекту и такође их ажурирати.
Такође је важно напоменути да Цомпосер није менаџер пакета као Апт или Иум. Колико год да се бави библиотекама, ове библиотеке се подразумевано не инсталирају глобално на машини. Уместо тога, Цомпосер управља зависностима на основу пројекта, и стога само локално инсталира зависности у директоријум унутар ПХП пројекта који градите.
Цомпосер вам такође омогућава да сазнате које верзије којих пакета могу и треба да буду инсталиране у вашем пројекту и инсталира их уместо вас. Такође пружа једну наредбу коју можете користити за ажурирање свих зависности у вашем пројекту.
Цомпосер је есенцијални алат када градите пројекте користећи ПХП. Цомпосер омогућава ефикасно управљање зависношћу, а такође обезбеђује спремиште тзв Пацкагист који пружа широк избор ПХП пакета и библиотека које можете додати својим ПХП пројектима као зависности.
Правилно управљање зависношћу помоћу алата као што је Цомпосер омогућава модуларни развој софтвера, беспрекорну контролу верзија и побољшану сарадњу међу тимовима. Поред тога, помаже у избегавању проблема са компатибилношћу софтвера и помаже да се пројекти лакше одржавају.
Хајде да сада погледамо како можете да инсталирате Цомпосер у Убунту. Али прво, хајде да погледамо предуслове које треба да испуните пре него што можете да инсталирате Убунту.
Предуслови за инсталирање Цомпосер у Убунту
Да бисте инсталирали Цомпосер у Убунту:
1. Уверите се да можете да приступите терминалу на вашој машини и да извршавате команде као роот корисник.
2. Нека је ПХП верзија 7.2.5 и новија инсталирана на вашој машини. Можете проверити да ли имате ПХП инсталиран на вашој машини и његову верзију тако што ћете отворити терминал и извршити га
php -version
У случају да имате инсталиран ПХП, требало би да добијете такав излаз:
У случају да ПХП није инсталиран, извршите следећу команду да бисте га инсталирали:
sudo apt install php
3. Имајте систем контроле верзија. Гит је одличан избор за ово. Потврдите да сте инсталирали Гит тако што ћете покренути:
git --version
У случају да је Гит инсталиран, добићете број верзије овако:
У случају да Гит није инсталиран, покрените следећу команду да бисте га инсталирали
sudo apt install git
4. Нека је на вашој машини инсталиран менаџер архиве који ће се користити за декомпресију датотека. За ово ће бити довољан катран. Проверите да ли је тар инсталиран на вашој машини тако што ћете покренути:
tar --version
У случају да немате тар, можете га инсталирати тако што ћете покренути:
sudo apt-get install tar
Када испуните горенаведене предуслове, спремни сте да инсталирате Цомпосер.
Како инсталирати Цомпосер на Убунту
Када инсталирате Цомпосер, можете га инсталирати глобално на вашој машини или локално у контексту ПХП инсталације. Глобална инсталација вам омогућава да приступите и позовете Цомпосер из било ког директоријума на вашој машини, за разлику од локалне инсталације.
Инсталирање Цомпосер-а глобално је препоручени начин за инсталирање Цомпосер-а и то је оно што ћемо и урадити.
Инсталирање Цомпосер-а на Убунту преко терминала укључује покретање скрипти које се налазе на Цомпосер-у преузимање страна.
Пратите следеће кораке да бисте инсталирали Цомпосер глобално на Убунту:
1. Отворите терминал и извршите следећу команду да преузмете Цомпосеров инсталациони програм у тренутни директоријум.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
2. Извршите следећу команду да бисте верификовали СХА-384 инсталатер.
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Инсталациони програм СХА-384 је криптографска хеш вредност која се користи за проверу интегритета инсталационог програма Цомпосер. Другим речима, то је безбедносна мера која осигурава да инсталатер који сте преузели није мењан или оштећен.
Покретање горње команде требало би да генерише излаз који каже да је инсталатер верификован као што је приказано у наставку. Наставите када добијете такав излаз који потврђује интегритет вашег инсталатера.
3. Извршите следећу команду да бисте покренули инсталатер
php composer-setup.php
Требало би да добијете такав излаз који потврђује да је Цомпосер успешно инсталиран.
Обратите пажњу на цомпосер.пхар, која је извршна датотека за Цомпосер, додата у директориј у који сте га инсталирали.
4. Пошто је Цомпосер успешно инсталиран, покрените следећу команду да бисте уклонили инсталатер који сте раније преузели јер вам више није потребан.
php -r "unlink('composer-setup.php');"
5. Да бисте били сигурни да је Цомпосер инсталиран глобално и да га можете позвати из било ког директоријума, желите да ставите цомпосер.пхар датотеку у директоријум на вашем ПАТХ. Да бисте то урадили, извршите следећу команду и унесите лозинку када се то од вас затражи
sudo mv composer.phar /usr/local/bin/composer
6. Проверите да ли је Цомпосер успешно инсталиран тако што ћете извршити следећу команду:
composer
Ако је Цомпосер успешно инсталиран, требало би да добијете такав излаз.
Како се користи Цомпосер
Када је Цомпосер инсталиран, следећи корак је да га користите за управљање зависностима. Као што је раније поменуто, Цомпосер има спремиште тзв Пацкагист који има пакете који се могу инсталирати као зависности помоћу Цомпосер-а.
Да бисмо видели како да користимо Цомпосер, инсталираћемо пакет под називом хттп-порука што је интерфејс који описује ХТТП поруке.
Да бисте користили Цомпосер за инсталирање хттп-поруке:
1. Креирајте нову фасциклу под називом цомпосерДемо и навигирајте унутар ње тако што ћете извршити следеће команде у терминалу, респективно
mkdir composerDemo
cd composerDemo
2. Креирајте датотеку .гитигноре у директоријуму тако што ћете извршити:
touch .gitignore
Ова датотека вам омогућава да одредите које датотеке Гит не треба да прати.
3. Генеришите датотеку цомпосер.јсон за свој пројекат тако што ћете извршити:
composer init
цомпосер.јсон је централна конфигурациона датотека коју користи Цомпосер. У њему наводите метаподатке који описују ваш пројекат и такође наводите зависности на које се ваш пројекат ослања тако да композитор може аутоматски да управља њима уместо вас.
Горња команда води до доњег излаза:
Водич ће вас провести кроз креирање датотеке цомпосер.јсон. У првом одзивнику притисните Ентер да бисте прихватили предложено име пројекта.
4. У следећем одзивнику наведите кратак опис пројекта и притисните Ентер. Можете налепити кратак опис дат испод и притиснути Ентер.
A demonstration of how to use PHP Composer
5. Следећи упит тражи аутора; притисните Ентер да бисте користили подразумевани.
6. Затим ће се од вас тражити да наведете минималну стабилност. За то можете оставити празно тако што ћете притиснути Ентер да бисте прешли на следећу промпт.
7. Следећи упит захтева да наведете тип пакета. За то унесите пројекат и притисните Ентер као што је приказано испод:
8. У одзивнику који тражи лиценцу, притисните Ентер да оставите празно и пређете на следећу
9. Затим ћете бити упитани да ли желите да наведете своје зависности; за ово, притисните Ентер да изаберете Да. Ово ће од вас тражити да потражите пакет.
10. У упиту за претрагу пакета унесите хттп-поруку и притисните ентер. Ово ће тражити наведени пакет и вратити резултате претраге као што је приказано у наставку:
Пакет који нас занима је први пакет који се зове пср/хттп-мессаге. Да бисте га изабрали, унесите број повезан са њим и притисните Ентер. Стога унесите 0 (нула) и притисните Ентер.
11. Следећи упит је да унесете ограничење верзије које захтевате (или оставите празно да бисте користили најновију верзију). За ово морамо да наведемо верзију коју желимо да користимо или да оставимо празно да бисмо користили најновију верзију.
Да бисте проверили најновију верзију пакета, идите на његову страницу на Пацкагист-у. Најновија верзија је верзија 2.0, као што је приказано у наставку:
Цомпосер аутоматски ажурира пакете када ажурирања постану доступна. Међутим, не желите да се ажурира на верзију која није компатибилна са верзијом коју тренутно користите у свом пројекту, јер ће покварити ваш ПХП код. Да бисте то избегли, унесите следеће да бисте навели верзију пакета и притисните Ентер:
^2.0
Ово говори Цомпосер-у да инсталира верзију 2.0 или новију све док је та виша верзија компатибилна уназад.
12. Тада ће бити затражено да потражите други пакет; једноставно притисните Ентер да пређете на следећи упит и не тражите други пакет.
13. Када се од вас затражи да дефинишете своје зависности од програмера, притисните Ентер. У упиту за претрагу пакета, притисните Ентер да га прескочите, јер ће наше дев зависности бити исте као наше зависности уживо.
14. Следећи упит ће од вас тражити да додате ПСР-4 мапирање аутоматског учитавања. Притисните Ентер да га прескочите.
15. Ово ће вам дати преглед датотеке цомпосер.јсон коју сте управо генерисали, као што је приказано у наставку:
Притисните Ентер да потврдите генерисање.
16. Следећи упит вас пита да ли желите да инсталирате зависности које сте навели. За ово притисните Ентер да бисте их инсталирали као што је приказано у наставку:
17. У терминалу унесите следећу команду да отворите пројекат који сте управо креирали у уређивачу кода
code .
Резултат је приказан у наставку:
Приметите да је генерисана датотека цомпосер.јсон, а наше зависности су наведене под кључем захтева. Инсталиране зависности се инсталирају у директоријум који се зове вендор.
18. Да бисте избегли праћење директоријума добављача, који има све зависности, отворите датотеку .гитигноре и налепите следећи ред.
/vendor/
Препоручује се да не пратите ову датотеку јер може постати веома велика, а зависности се лако могу аутоматски инсталирати из датотеке цомпосер.јсон.
19. Након креирања датотеке цомпосуре.јсон, можете лако додати нове зависности тако што ћете уредити потребан одељак у датотеци цомпосуре.јсон. На пример, да бисте додали пакет који се зове дневник, додајте га у потребан одељак као што је приказано у наставку:
"require": { "psr/http-message": "^2.0", "psr/log": "^3.0.0" },
20. Да бисте инсталирали ту нову зависност у свој пројекат, вратите се на терминал и извршите:
composer update
Резултат је приказан у наставку:
Овим се инсталира пакет који сте управо додали у датотеку цомпосуре.јсон.
Уз то, сада сте спремни да почнете да радите на својим ПХП пројектима и користите Цомпосер за управљање зависностима у вашем пројекту.
Како оптимизовати Цомпосер за боље управљање пакетима
Да бисте омогућили Цомпосер-у да ради ефикасније, уверите се да сте тачно навели ограничења верзије за зависности. Пример за то је био када смо урадили „^2.0“.
Избегавајте веома широка ограничења верзије као што је „*“ што значи да Цомпосер може да инсталира било коју верзију. Ово може довести до проблема са компатибилношћу и забринутости за стабилност вашег пројекта јер не можете предвидети коју верзију ће Цомпосер инсталирати.
Поред тога, избегавајте додавање превеликих прилагођених скрипти у датотеку цомпосер.јсон. Додајте само неопходне скрипте. Превише скрипти често доводи до огромних трошкова током управљања зависношћу.
Да бисте оптимизовали брзину рада Цомпосер-а, омогућите ПХП цурл екстензију. Такође можете користити додатке за Цомпосер као што је хирак/престиссимо, који паралелизирају Цомпосер операције што заузврат убрзава инсталацију пакета.
Такође можете очистити Цомпосер-ов кеш да бисте уклонили старе и некоришћене пакете да бисте оптимизовали његове перформансе. Поред тога, не заборавите да не пратите и урезујете директоријум добављача у који Цомпосер инсталира пакете. Ово ће помоћи у убрзавању клонирања и ажурирања складишта ваших пројеката.
Како деинсталирати Цомпосер
Ако више не желите да користите Цомпосер у Убунту-у, можете га деинсталирати тако што ћете извршити следећу команду:
sudo rm -rf /usr/local/bin/composer
Можете потврдити да је Цомпосер успешно деинсталиран тако што ћете извршити следећу команду:
composer
Ако је потпуно деинсталиран, требало би да добијете такав излаз:
Закључак
Управљање зависношћу је кључни процес приликом изградње пројеката. Ефикасно управљање зависношћу осигурава да избегнете проблеме са компатибилношћу у својим пројектима и имате више пројеката за одржавање.
Поред тога, омогућава модуларни развој софтвера и побољшану сарадњу међу тимовима програмера. Ако градите пројекте у ПХП-у, размислите о коришћењу Цомпосер-а ефикасно и лако управљајте зависностима у свом пројекту.
Затим можете прочитати шта је Убунту ППА и како да га инсталирате.