Używanie Composera z WordPress
Opublikowany: 2022-06-30WordPress istnieje od 2003 roku i stał się domyślnym narzędziem dla większości osób, które chcą założyć stronę internetową. Chociaż przeszła długą drogę od swoich korzeni jako silnik blogowy, technologia leżąca u jej podstaw nie dokonała tych samych skoków, co wrażenia użytkownika.
Rozwój WordPressa nadal opiera się na wielu standardach, które były obecne w 2003 roku. Chociaż może to uczynić go bardziej dostępnym dla ludzi ze względu na mniejszą wymaganą wiedzę techniczną, oznacza to również, że wiele nowych zasobów programistycznych nie jest kompatybilnych z WordPress po wyjęciu z pudełka.
Dzisiaj przyjrzymy się jednemu z tych nowszych narzędzi o nazwie Composer. Zobaczmy, jak można go dopasować do przepływu pracy WordPress i omówmy, dlaczego warto go wypróbować.
Co to jest kompozytor?
Każdy fragment kodu, który piszesz, ma zależności. Jeśli piszesz wtyczkę do WordPressa, twoją największą zależnością jest sam WordPress. Bez podstawowych funkcji, które zapewnia WordPress, prawdopodobnie Twoja wtyczka w ogóle nie jest przydatna. Poza samym WordPressem możesz potrzebować nowoczesnego klienta SOAP, takiego jak nusoap, do współpracy z interfejsami API opartymi na SOAP.
W przeszłości większość ludzi po prostu kopiowała repozytorium nusoap do katalogu w swojej wtyczce, a następnie dołączała pliki potrzebne do korzystania z biblioteki. W tym miejscu Composer może wkroczyć i uprościć niektóre zarządzanie Twoimi zależnościami.
Composer to menedżer zależności. Został specjalnie zaprojektowany, aby ułatwić instalowanie i zarządzanie zależnościami. Może to stać się szczególnie ważne, jeśli pracujesz w zespole i chcesz mieć pewność, że każdy członek zespołu używa tych samych bibliotek, co prace programistyczne.
U jego podstawy Composer jest plikiem JSON, który zawiera szczegółowe informacje o zainstalowanych zależnościach i wersjach, których chcesz użyć. Poniżej możesz zobaczyć podstawowy przykład, który zawiera zależność nusoap.
{
"wymagać": {
„ekona/numydło”: „^0.9.10”
}
}
Kiedy uruchamiam aplikację composer wymagają econea/nusoap w mojej wtyczce, zainstaluje ona dla mnie nusoap i zablokuje ją w określonej wersji. W tym przypadku używam wersji 0.9.10 i będę nadal jej używać, chyba że powiem Composerowi, aby uaktualnił zależność.
Ma to przewagę nad zwykłym pobieraniem i dołączaniem nusoap, ponieważ mogę użyć aktualizacji kompozytora do aktualizacji wszystkich moich zależności bez konieczności sprawdzania, czy są aktualizacje i ręcznego pobierania ich do mojego projektu. Kompozytor przejmuje zarządzanie zasobami na tym poziomie.
Pierwsze kroki z kompozytorem
Instalacja kompozytora jest dość prosta.
W systemie Windows
Jeśli korzystasz z systemu Windows, dostępny jest instalator, aby uprościć proces. Zainstaluje on najnowszą wersję Composera i udostępni go globalnie dla Twoich projektów.
Linux/Unix/macOS
Na każdej z tych platform masz jeszcze kilka kroków, aby skonfigurować Composer. Aby rozpocząć, uruchom polecenia potrzebne do pobrania Composera i jego konfiguracji.
php -r „copy('https://getcomposer.org/installer', 'composer-setup.php');”
php -r “if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07e0'3Installer'76181' echo } else { echo 'Instalator uszkodzony'; unlink('układ-kompozytora.php'); } echo PHP_EOL;”
php kompozytor-setup.php
php -r „unlink('composer-setup.php');”
Następnie będziesz chciał uruchomić Composer globalnie do lokalnego rozwoju, więc będziemy musieli dostosować domyślną instalację, aby upewnić się, że jest ona dostępna za każdym razem, gdy chcemy użyć Composera. Możesz przenieść Composer, aby był dostępny globalnie, za pomocą następującego polecenia wykonanego z tego samego katalogu, z którego właśnie pobrałeś Composer.
mv kompozytor.phar /usr/local/bin/composer
Aktualizowanie kompozytora
W systemach Windows i macOS wszystko, co musisz zrobić, aby zaktualizować aplikację Composer do najnowszej wersji, to uruchomić samoaktualizację kompozytora. Jeśli korzystasz z systemu Linux/Unix, musisz uruchomić sudo apt update && upgrade, aby system sprawdził dostępność najnowszych wersji, a następnie możesz uruchomić automatyczną aktualizację kompozytora, aby uzyskać najnowszą wersję.
Teraz, gdy wszystko jest już skonfigurowane, przyjrzyjmy się, jak zainstalować WordPress za pomocą Composera.
Zainstaluj WordPress z Composer
A jeśli chcesz zarządzać całą witryną za pomocą Composera? Najpierw musisz zdecydować, czy WordPress jest zależnością projektu, czy rdzeniem projektu? Tak, trochę zakręcania mózgu.
WordPress można uznać za zależność projektu, ponieważ ostatecznym celem dla Twoich klientów nie jest posiadanie zainstalowanego WordPressa. Chcą sklepu lub bloga, a to zależy od tego, czy zainstalujesz WordPressa. Takie stanowisko zajmuje projekt taki jak Roots z opartym na Composer systemem Bedrock WordPress o nazwie Bedrock.
Korzystanie z Bedrock oznacza, że nie musisz informować Composer o WPackagist, ponieważ jest już skonfigurowany. Od tego polecam zacząć, jeśli chcesz zarządzać całą witryną za pomocą Composera.
Aby zainstalować Bedrock, uruchom następujące polecenie.
kompozytor tworzy-projekt korzenie/podłoże
To da ci następującą strukturę plików.
kompozytor.json
├── .env
├── konfiguracja
aplikacja.php
│ └── środowiska
development.php
staging.php
produkcja.php
├── sprzedawca
sieć
├── aplikacja
│ ├── mu-wtyczki
│ ├── wtyczki
│ ├── motywy
│ └── przesyłanie
wp-config.php
index.php
wp
To bardzo różni się od standardowej konfiguracji WordPressa. Aby rozpocząć, masz plik composer.json w katalogu głównym instalacji. Tutaj zobaczysz swoją konfigurację Composera.
Twój plik .env to miejsce, w którym możesz przechowywać różne konfiguracje bazy danych. Jest to potrzebne, ponieważ Twoja lokalna witryna i Twoja aktywna witryna będą miały różne hasła do bazy danych i nazwy użytkownika. Domyślny plik wp-config.php zrozumie zmienne umieszczone w pliku .env, ponieważ Bedrock używa tych zmiennych zamiast twardego kodowania w informacjach o połączeniu z bazą danych.
Twój plik .env powinien zostać zignorowany w repozytorium Git. Podczas konfigurowania nowej witryny dodaje się do niej nowy plik .env z wymaganymi informacjami o konfiguracji bazy danych.
Jest kilka innych zmiennych, które musisz ustawić tutaj, aby rozpocząć Bedrock, które są szczegółowo opisane w ich dokumentacji.
W folderze config znajdują się różne domyślne konfiguracje dla środowisk, z których będziesz korzystać. W fazie rozwoju włącza to raportowanie błędów, a w środowiskach produkcyjnych daje pewność, że rejestrowanie błędów nie zakłóci płynnego działania witryny.
Bazując na Bedrock, możesz teraz używać Composera do instalowania wtyczek WordPress za pośrednictwem WPackagist.
WPackagist jest lustrem motywu WordPress i repozytorium wtyczek. Jest to potrzebne, ponieważ domyślnie większość wtyczek i motywów nie jest dostępna dla Composera do zainstalowania. Mirror dodaje wymagane pliki dla każdej wtyczki, dzięki czemu Composer może być używany do zarządzania wtyczkami.
Jeśli chcesz zainstalować WooCommerce w swojej instalacji WordPress opartej na Bedrock, musisz najpierw wymagać WooCommerce, kompozytor wymaga wpackagist-plugin/woocommerce, a następnie musisz powiedzieć Composerowi, aby zainstalował zależności, zainstaluj kompozytora.
Teraz możesz przejść do obszaru administracyjnego swojej instalacji WordPress i aktywować WooCommerce i rozpocząć tworzenie swojej witryny. Aby zaktualizować WooCommerce po pojawieniu się nowej wersji lub zaktualizować WordPress, musisz uruchomić aktualizację kompozytora.
W tym miejscu projekt oparty na Composer może wpaść w kłopoty. Jeśli uruchomisz aktualizacje przez administratora WordPressa, będziesz mieć niezgodność między tym, czego oczekuje Composer, a tym, co zainstalował WordPress. Jeśli zamierzasz korzystać z Composera, trzymaj się go jako narzędzia do aktualizacji i nie pracuj przez administratora WordPress.
Kiedy należy używać Composera ?
Jestem pewien, że wielu z Was pyta, dlaczego Composer jest tak świetnym narzędziem do tworzenia WordPressa. WordPress nie został zbudowany z myślą o Composer, więc aby z nim pracować, musisz przeskoczyć przez kilka kółek, aby działał dobrze.
Dla twórców wtyczek i motywów jest jasne, że Composer może ułatwić radzenie sobie z zależnościami, które musisz wnieść z szerszego ekosystemu PHP. Dla programistów WordPressa argument jest mniej jasny. Niektórzy lubią używać Composera do zarządzania całą witryną, tak jak robi to Roots. Dzięki temu możesz mieć mniej plików zarządzanych przez Git, ale nigdy nie wydawało mi się to przekonującym przypadkiem.
Podoba mi się to, że Composer może ułatwić posiadanie różnych zależności dla różnych środowisk. Następnie możesz użyć procesu wdrażania, aby wdrożyć te zależności w swoich środowiskach bez konieczności ręcznego zarządzania nimi.
Jako programista musisz również wziąć pod uwagę potrzeby swojego klienta. Jeśli nie mają zespołu programistów do zarządzania witryną przez długi czas, mogą napotkać problemy z niestandardową instalacją WordPressa. W niektórych przypadkach ich gospodarze mogą powiedzieć im, że wsparcie nie jest dostępne, ponieważ nie korzystają z normalnego sposobu instalacji i korzystania z WordPressa. Kiedy obsługujesz klientów, zawsze musisz zrównoważyć fajną technologię, której używasz, z tym, co klient może obsłużyć w dłuższej perspektywie.
Tylko z tego powodu nie używam Composera w moich pełnych projektach witryn. Moi klienci będą nimi zarządzać na co dzień przez lata i nie chcę stawiać żadnych dodatkowych barier. Oboje chcemy, aby ich witryny działały płynnie przez wiele lat.
Jeśli chcesz podnieść swoje umiejętności w zakresie PHP za pomocą nowoczesnych technologii, z pewnością powinieneś przyjrzeć się, jak Composer może wpasować się w Twoje przepływy pracy WordPress.