Z myślą o webmasterach, którzy coraz chętniej przenoszą strony WWW na hosting w nazwa.pl, udostępniliśmy na serwerach nowe narzędzie – Composer. Rozwiązanie to znacząco przyspiesza pracę programisty, automatyzując czasochłonne procesy i umożliwiając wygodne zarządzanie pakietami danych dla języka PHP. Composer dostępny jest w ramach wszystkich pakietów hostingowych nazwa.pl.
Czym jest Composer?
Composer jest systemem zarządzania pakietami, przeznaczonym dla aplikacji tworzonych w języku PHP. Jego działanie można w pewnym stopniu porównać z aplikacją Npm używaną w Node.js na serwerach nazwa.pl oraz aplikacją Bundler używaną w języku Ruby. Composer dostępny jest w formie komendy wiersza poleceń, która poprzez SSH pozwala na zarządzanie pakietami i zależnościami w sposób ustandaryzowany w ramach projektu PHP.
Composer version 2.0.8 2020-12-03 17:20:38
server@server:~$ []
Istotne komponenty aplikacji, takie jak bibliotek czy frameworki, są pogrupowane w tak zwane paczki. Czasami zawierają one także całe aplikacje. Wykorzystywane są przez Composera, którego uruchomienie pozwala na pobranie wszystkich niezbędnych pakietów. Przykładem może być tutaj zastosowanie Composera przy pracy z WordPressem. Za jego pomocą można zdefiniować pakiet wtyczek lub szablonów, które automatycznie zostaną umieszczone w katalogu /wp-content/plugins lub /wp-content/themes bez potrzeby ręcznego pobierania wszystkich materiałów.
Plik composer.json
Chcąc skorzystać z Composera, należy utworzyć etykietę w postaci pliku JSON o nazwie composer.json, która pobierze paczkę z najnowszą wersją WordPressa do katalogu /wordpress.
Przykładowy plik composer.json
„require”: {
„johnpbloch/wordpress”: „>=5.5”
},
„extra”: {
„installer-paths”: {
„wp-content/plugins/{$name}/”: [
„type:wordpress-plugin”
],
„wp-content/themes/{$name}/”: [
„type:wordpress-theme”
]
},
„wordpress-install-dir”: „wordpress”
},
„repositories”: [
{
„type”: „composer”,
„url”: „https://wpackagist.org”
}
]
}
Przygotowany przez nas przykładowy plik zawiera takie elementy, jak:
- require, gdzie podajemy nazwy pakietów, które chcemy pobrać. Wartość należy podać w formacie: „autor/nazwa”: „wersja”. W require dopuszczalne jest także stosowanie wildcardów, czyli pobranie wersji np.: „>=5.5.*”,
- extra – w tym miejscu możliwe jest skonfigurowanie niestandardowych ścieżek instalacji pobranych zasobów jak, np.: ustawienie odrębnej ścieżki dla szablonów WordPressa, pluginów itp. oraz nazwy katalogu instalacji,
- repositories wskazuje na typ repozytorium oraz adres URL, z którego mogą być pobrane paczki, jak np. skorzystanie z repozytoriów git czy prywatnych repozytoriów. W przypadku użycia Composera przy pracy z WordPressem warto pamiętać, że system nie tworzy oficjalnego repozytorium, dlatego w danym przykładzie korzystamy z John Bloch Composer Repo. Zalecamy zachowanie szczególnej ostrożności podczas korzystania z nieoficjalnych repozytoriów danych (nie powiązanych z wydawcą oprogramowania).
To co przedstawiliśmy, to jednak tylko kilka podstawowych elementów. Composer pozwala na znacznie więcej. Można pokusić się o stwierdzenie, że ograniczeniem jest jedynie wyobraźnia programisty!
Sposób użycia Composera
Composer na hostingu nazwa.pl jest dostępny jako aplikacja systemowa, zatem nie musimy przejmować się tym, jaka jest jego ścieżka dostępu na SSH. Wystarczy, że w katalogu, w którym mamy plik composer.json rozpoczniemy instalację naszych pakietów.
Wdrożenie composer.json
Powróćmy do naszego przykładu. Gdy posiadamy gotowy plik composer.json wdrażamy go poprzez wybieranie polecenia composer.phar install.
Wywołanie polecenia composer.phar install powoduje utworzenie pliku composer.lock (jeśli wcześniej nie został utworzony) oraz wyświetlenie na wyjściu poniższego komunikatu:
Loading composer repositories with package information
Updating dependencies
Lock file operations: 3 installs, 0 updates, 0 removals
– Locking johnpbloch/wordpress (5.5.3)
– Locking johnpbloch/wordpress-core (5.5.3)
– Locking johnpbloch/wordpress-core-installer (2.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
– Installing johnpbloch/wordpress-core-installer (2.0.0): Extracting archive
– Installing johnpbloch/wordpress-core (5.5.3): Extracting archive
– Installing johnpbloch/wordpress (5.5.3): Extracting archive
Generating autoload files
Za pierwszym razem Composer pobiera wybraną paczkę z zewnętrznego zasobu zdefiniowanego w require. Dla kolejnej instalacji zostanie wczytana jej wersja z cache (jeżeli wersje będą zgodne). Pobrane paczki zostaną skopiowane do katalogu vendor. Po instalacji zostanie utworzony plik composer.lock, w którym znajdą się informacje o aktualnie zainstalowanych paczkach i ich wersjach. Warto pamiętać, że pliku composer.lock nie należy edytować.
Aktualizacja composer.json
Aktualizację zdefiniowanej wcześniej paczki można wykonać poprzez wybranie polecenia composer.phar update. W wyniku tej komendy zostanie wyświetlony komunikat, który w tym wypadku oznacza, że wszystkie pliki są aktualne:
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
Nowe technologie dla webmasterów i developerów w nazwa.pl
Udostępnienie aplikacji Composer na hostingu w nazwa.pl jest wynikiem rozmów, które prowadzimy z webmasterami. Wskazaliście, że to narzędzie przyda się Wam w codziennej pracy przy zarządzaniu usługami Waszych klientów. To narzędzie jest dla Was!
Zamów CloudHosting
Rozwijajmy się razem!
Potrzebujesz dodatkowych funkcjonalności do działania swoich projektów, chcesz przetestować nowe rozwiązania, które niebawem wdrożymy lub masz propozycje co do rozwoju naszych usług – skontaktuj się z naszym Działem Rozwoju pod adresem rnd@nazwa.pl.
KONIECZNIE PRZECZYTAJ NA BLOGU: