Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Compser pre PHP - automatizácia

V tomto článku vysvetlím čo to vlastne Composer je, na čo sa používa a pozrieme sa spolu na základné príkazy. Ďalšia vec, ktorú vám chcem ukázať, je inštalácia o konfigurácie, ktorá mnohokrát nie je pre začiatočníkov moc prívetivá, hlavne kvôli automatizáciu, vďaka ktorej je používanie nástroja veľmi pohodlné.

Čo to je Composer

Composer je nástroj pre správu závislostí v programovacom jazyku PHP. Nielen, že cez neho môžeme sťahovať jednotlivé knižnice (balíky z webu https://packagist.org/), ale dokonca sa postará o dohraní ďalších balíčkov, ktoré sú potrebné pre beh stiahnuté knižnice. Ďalej umožňuje jednoduchú výmenu verzií používaných knižníc a prípadne odstránenie všetkých nepotrebných.

Cez composer sa dá ale vytvoriť aj samotná kostra projektu vďaka tzv. Skeletonu, ale o tom až neskôr.

Ak budete pracovať niekde vo firme ako programátor, tak sa tomuto nástroju s veľkou pravdepodobnosťou nevyhnete, preto odporúčam sa ho naučiť používať.

Stiahnutia a inštalácie

Základnej inštalácie

Samotný composer si môžete stiahnuť z https://getcomposer.org/download/

Pre windows je vytvorený jednoduchý installer, preto ho tu popisovať nebudem, a pre Linux stačí napísať do konzoly nasledujúce príkazy:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Pozor, druhý príkaz obsahuje hash, ktorý sa mení s každou novo vydanou verziou.

Odporúčam postupovať podľa oficiálnych stránok, ak viete aspoň trochu anglicky. Ak inštalujete pre Windows a nejde vám installer, tak sa uistite, že máte v súbore php.ini povolené OpenSSL. Musí tam byť nasledujúci riadok:

extension=php_opensssl.ddl

Ak ste túto závislosť pridali, tak bude potrebné reštartovať server.

Ručné inštalácie súboru php.phar

Ak z nejakého dôvodu potrebujete ručné stiahnutie pre windows, tak do príkazového riadku napíšte

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'))"

a nainštalujte do adresára, kde máte uložené PHP.

Automatizácia

V adresári, kde máte uložené php.exe a composer.phar, vytvorte tu súbor composer.bat a vložte do neho nasledujúci kód:

@echo off
php cesta_k_souboru\composer.phar %*

Ak vám, všetko funguje ako má zistíte tak, že do PowerShellu napíšete

composer

2) Zaregistrovanie cesty - automatizácia

Najskôr otvorte ovládacie panely a tu kliknite na systém. Ak sa vám nezobrazuje, tak zvoľte voľbu (V Všetky položky Ovládacích panelov). Tu zvoľte upresniť nastavenie systému

Ostatné tutoriály v PHP

Potom premenné prostredia

Ostatné tutoriály v PHP

Tu potom musíte uviesť do premennej path cestu k adresáru, kde je uložený súbor php.exe a php.ini. Ide o systémovú premennú.

Overenie funkčnosti

Ak vám, všetko funguje ako má zistíte tak, že do PowerShellu napíšete

composer

Malo by Vám to vypísať niečo takéto:

Ostatné tutoriály v PHP

Základné príkazy

Composer init

Slúži pre inicializáciu nového projektu. Postupne budete opýtaní na tieto informácie:

Package name (<vendor> / <name>)

Názov balíka napríklad utils / LINQ.

Description

Popis novovytvoreného projetku.

Author

Autorov môže byť samozrejme viac. formát zápisu - Milan Gallas < abcdef @ gmail.com >

Minimum Stability

Voľba stable (defaultné nastavenie), alebo dev - podpora aj dev verzií používaných balíčkov. Niektoré balíky ani iné verzie nemajú. Viem o jednej rest knižnici nad Nette, ktorá má iba @dev.

Potom je ale ešte jedna možnosť ako to nadefinovať minimálnu verziu a to:

"minimum-stability": "dev",
"prefer-stable": true

Podporuje dev verzie, ale ak je stabilný, tak jej dá prednosť, inak sa môže stať, že sťahuje ku všetkému dev verzie a to väčšinou nechceme. Je lepšie mať nad verziami prehľad.

Package Type - defaultná hodnota (library). Pri tomto nastavení sa budú súbory kopírovať do adresára vendor. Toto je najpoužívanejší forma. Ak Vás zaujímajú ďalšie možnosti, tak Vás odkážem na oficiálnej dokumentáciu https://getcomposer.org/...04-schema.md#type

License

môžete zvoliť jednu, alebo viac možností:

  • Apache-2.0
  • BSD-2-Clausa
  • BSD-3-Clausa
  • BSD-4-Clausa
  • GPL-2.0
  • GPL-2.0 +
  • GPL-3.0
  • GPL-3.0 +
  • LGPL-2.1
  • LGPL-2.1 +
  • LGPL-3.0
  • LGPL-3.0 +
  • MIT

Nakoniec sa vás v PowerShellu opýta, či chcete rovno nadefinovať nejaké závislosti a ak používate git, tak ak chcete pridať adresár vendor do .gitignore.

Composer require

Cez tento príkaz sťahujeme konkrétny repozitár. Napríklad (keby / console) si do projektu nainštalujeme týmto príkazom

composer require kdyby/console

Composer update

Ak urobíte napríklad zmeny v súbore composer.json (zmena verzií, doplnenie balíčka), alebo nemáte napevno stanovené verzie a vyjdú nové, tak sa tieto zmeny po príkaze composer update prejaví = aktualizácie balíčkov.

Composer install

Postahuje nadefinované závislosti a vytvorí súbor autoload.php. Vďaka tomuto súboru si môžete automaticky preberať všetky súbory, ktoré stiahnete cez Composer. Už nemusíte riešiť načítanie tried, všetky urobí Composer za vás. Používa sa pri prvom buildu. Potom sa používa príkaz composer update.

Záver

Composer má mnoho ďalších užitočných funkcií (vlastný AutoLoad, tvorba vlastných scriptov pre tvorby kostry aplikácie atď ..). Composer by mal byť súčasťou programovacieho arzenálu každého PHP vývojárov, takže ak ho zatiaľ nepoužívate a myslíte to s programovaním vážne, tak je čas začať.


 

Všetky články v sekcii
Ostatné tutoriály v PHP
Článok pre vás napísal Milan Gallas
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování, hardwaru a počítačovým sítím.
Aktivity