Najlepsze środowisko programistyczne WordPress
Opublikowany: 2017-01-18W ciągu ostatnich kilku lat napisałem mnóstwo samouczków na blogu WPMU DEV, w którym dzielę się ciekawostkami na temat środowisk programistycznych, których używam.
Więc dzisiaj pomyślałem, że nadszedł czas, abym udostępnił pełne środowisko, takie, jakie chciałbym zebrać i wykorzystać do rozwoju na większą skalę.
Podwiń rękawy i przygotuj się na brudne ręce! Ponieważ poniżej znajduje się pełny opis rodzaju środowiska programistycznego, które skonfigurowałem i jak możesz to zrobić.
Uwaga: ten samouczek nie jest przeznaczony dla początkujących. Jeśli jesteś nowy w programowaniu WordPress, nie będziesz potrzebować tak rozbudowanego środowiska, ponieważ może to wprowadzić niepotrzebną złożoność. Pamiętaj również, że ten artykuł jest przeznaczony specjalnie dla WordPressa. Pomysły i cele mogą być takie same dla projektów innych niż WordPress, ale podejście i użyte narzędzia będą się różnić.
Spis treści
- Co sprawia, że środowisko programistyczne jest dobre?
- Rozwijające się środowiska
- Serwery lokalne
- Narzędzia wiersza poleceń
- Skrypty Bash
- Wtyczki WordPress
- Różne narzędzia
Co sprawia, że środowisko programistyczne jest dobre?
W moich oczach dobre środowisko programistyczne ma następujące trzy właściwości:
- Wysoce przenośny
- Wysoce konfigurowalny
- Wysoce zautomatyzowany
Ruchliwość
Przenośność jest ważnym czynnikiem, ponieważ oprócz dzielenia się motywem/wtyczką, którą rozwijam, chcę mieć również możliwość dzielenia się środowiskiem deweloperskim.
Chcę, aby inni programiści mogli sprawdzić źródło z GitHub i zacząć od razu, w tym korzystać z dowolnych narzędzi, takich jak Gulp lub Grunt. To sprawia, że łatwo jest wskoczyć do projektów, a jeśli wspierasz lepszą współpracę, masz większą szansę, aby coś odniosło sukces.
Przenośność może również pomóc, jeśli musisz pracować na innym komputerze lub chcesz pokazać współpracownikom, co robiłeś. Możliwość ustawienia rzeczy w dowolnym miejscu w ciągu kilku minut pomogła mi więcej razy, niż mogę zliczyć.
Konfigurowalność
Możliwość konfiguracji środowiska jest najważniejsza. Po stronie serwera WordPress jest niezwykle wyrozumiały, ale możliwość dostrojenia ustawień kompilacji, zadań Grunt i innych opcji jest ogromną korzyścią.
Opcje konfiguracji i przenośność razem oznaczają, że możesz łatwo testować swoją pracę w różnych okolicznościach. Co powiesz na zmianę wersji PHP lub nawet HHVM, aby się upewnić? Może możesz sprawdzić kompatybilność ze starszymi wersjami WordPressa i popularnymi wtyczkami? To są rzeczy, które powinieneś umieć przetestować.
Automatyzacja
Automatyzacja jest jednym z głównych napędów tworzenia środowiska programistycznego dla pracy WordPress. Nie chcę się martwić o moje skrypty, arkusze stylów, zapisywanie mojej pracy, wdrażanie i tak dalej.
Narzędzia wiersza poleceń stanowią podstawę mojego pakietu automatyzacji, który może zrobić wszystko, od konfiguracji WordPressa za pomocą jednego polecenia po pakowanie mojego produktu.
Praca w toku
Zanim zagłębimy się w szczegóły, pomyślałem, że omówię to, jak środowiska programistyczne są wymyślane przez tych, którzy ich używają.
Jeśli jesteś stosunkowo nowicjuszem w świecie wiersza poleceń, narzędzi do budowania, systemów kontroli wersji i tak dalej, może się wydawać, że jestem profesjonalistą, który wie wszystko i używa doskonałych narzędzi do każdego zadania.
To dość dalekie od prawdy! Jestem dobrze zorientowany we wszystkim, co dotyczy WordPressa, ale wszystko inne to tylko dodatek, do którego się przyczepiłem lub potrzebowałem/chciałem nauczyć się, aby moje życie było szybsze. Kopiowałem inne, samodzielnie wymyślałem fragmenty i modyfikowałem rzeczy w razie potrzeby (czasami sromotnie zawodzą!).
Moje środowisko programistyczne (i wiele innych) to mieszanka następujących elementów:
- Dopracowana wiedza osobista
- Świetne wskazówki od innych
- Tylko jakaś przypadkowa rzecz, którą znalazłem, która działa
- Kroki, które można było zrobić znacznie lepiej, ale nie mogłem się martwić, aby to rozgryźć
Innymi słowy: nie jest idealny, ale wykonuje swoją pracę. Jest dużo miejsca na ulepszenia i miejsca, w których można użyć innych narzędzi, które mogą ci się bardziej spodobać. Jeśli znasz bardziej przydatne narzędzia lub przepływy pracy, skorzystaj z nich i daj mi znać w komentarzach!
Serwer lokalny
WordPress działa na PHP, który jest językiem kodowania po stronie serwera, dlatego potrzebujemy serwera do uruchomienia WordPressa. Najpopularniejsze opcje to:
- Włóczęga
- WAMP
- XAMPP
- MAMP
Zacząłem z XAMPP lata i lata temu. Następnie przeniosłem się na MAMP, kiedy zostałem użytkownikiem Maca, a około dwa lata temu ostatecznie przeszedłem na Vagrant. Sieć i używane narzędzia ewoluują jak zawsze, a teraz używam również Vagranta i MAMP. Poniżej wyjaśnię dlaczego.
Ampery
„AMP” w MAMP, XAMPP i WAMP oznacza Apache, MySQL i PHP. Wszystkie te narzędzia instalują usługi i GUI, które pomagają zarządzać procesami używanymi przez serwer. Pobierasz i instalujesz aplikację, naciskasz przycisk „on” i wszystko działa zgodnie z oczekiwaniami.

Profesjonaliści:
Jest szybki, łatwy, intuicyjny i będzie działał na wszystkich systemach przez cały czas. Ma świetny interfejs użytkownika, którego możesz użyć do dostosowania ustawień PHP, przełączenia się na Nginx, konfiguracji Memcached, Postfix, konfiguracji serwerów wirtualnych i nie tylko.
Wady:
Chociaż istnieje wiele rzeczy, które można poprawić, kontrola jest ograniczona. Nie możesz zmienić systemu operacyjnego ani wprowadzić innych zmian, na które pozwalałby pełny dostęp SSH.
Wszystkie AMP tracą przenośność z tego samego powodu. Są na tyle popularne, że każdy może je zainstalować, ale nie są samowystarczalne i minimalne jak konfiguracje Vagrant.
Włóczęga
Włóczęga jest nieco inna. Zamiast wstępnego pakowania i środowiska dla Ciebie, daje Ci pełną kontrolę. Jest zbudowany na VirtualBox (lub innych aplikacjach VM) i pozwala pobrać „pudełko”, które jest zasadniczo systemem operacyjnym. Następnie możesz użyć skryptów, aby skonfigurować je dla siebie.

Profesjonaliści:
Konfiguracja jest samodzielna w zaledwie dwóch bardzo małych plikach. Jeśli jesteś przyzwyczajony do wiersza poleceń, konfigurowanie środowiska może być tak proste, jak vagrant up
– system jest niezwykle przenośny.
Możesz go skonfigurować do woli. Dowolny system operacyjny, dowolne oprogramowanie, od różnych metod buforowania po kompilację własnego PHP. Możesz dokładnie zreplikować środowisko swojego rzeczywistego hosta, aby upewnić się, że Twoja witryna będzie działać dokładnie w ten sam sposób na komputerze lokalnym.
Wady:
Jeśli nie jesteś szybki w korzystaniu z wiersza poleceń, Vagrant może mieć stromą krzywą uczenia się. Gdy wszystko się ułoży, wystarczy, że wydasz jedno polecenie. Jeśli coś z jakiegoś powodu nie zadziała, znajdziesz się na głębokiej wodzie.
Istnieją narzędzia do tworzenia wirtualnych hostów i wykonywania innych typowych zadań, interfejs użytkownika MAMP jest wygodniejszy, przynajmniej dla mnie. Jeśli potrzebuję szybkiego nowego wirtualnego hosta z WP do zainstalowania, mogę to zrobić z MAMP + WP-CLI znacznie szybciej niż z Vagrant + WP-CLI.
Którego użyć?
Jeśli pracujesz wyłącznie z WordPress, narzędzie takie jak MAMP oferuje więcej niż wystarczającą elastyczność i moc. Pozwala to oczywiście na pracę z witrynami innymi niż WordPress, więc jeśli masz dziwną pracę, która wykracza poza sferę WP, MAMP nadal będzie ci dobrze służył.
Jeśli pracujesz z dużymi zespołami nad projektami niezwiązanymi z WP, polecam chwycić Vagranta i spróbować. Nauczy Cię wiele o tym, jak serwery działają wewnętrznie i umożliwi dokładne udostępnianie środowisk.
Preferuję używanie obu. Kiedy potrzebuję (lub mam czas), mogę skonfigurować swoje środowisko w najdrobniejszych szczegółach z Vagrantem. Kiedy potrzebuję czegoś prostego lub projektu WordPress, preferuję MAMP.
Rachel McCollin, inna autorka tutaj w WPMU DEV, napisała świetny przewodnik, jak skonfigurować MAMP, a ja napisałem Przewodnik po programowaniu WordPress w Vagrant, którego możesz użyć do skonfigurowania tych środowisk.
Narzędzia wiersza poleceń
Nie używam ogromnej liczby narzędzi CLI, ale te, których używam, stanowią dużą część mojego przepływu pracy. Najbardziej znane to WP-CLI, Gulp, ngrok i Ultrahook, przejdźmy do szczegółów.
WP-CLI
WP-CLI to niezwykle potężne narzędzie wiersza poleceń, które pozwala zautomatyzować wszystko w WordPressie. Napisałem już samouczek na temat zaawansowanego programowania WordPress z WP-CLI, więc pokażę ci tylko część magii, którą może zdziałać.

Konfigurowanie nowych witryn
Możesz pobrać, skonfigurować i zainstalować WordPress za pomocą kilku prostych poleceń, takich jak wp core download
i wp core config
. Dokumentacja jest bogata i łatwa do naśladowania.

Używam WP-CLI wraz ze skryptami bash do tworzenia małych szablonów do tworzenia nowej witryny. Możesz użyć poleceń, aby usunąć domyślne wtyczki i motywy oraz pobrać i aktywować wtyczki, których regularnie używasz.
Wyszukaj i zamień
Wyszukiwanie i wymiana bazy danych są czasami potrzebne, ale mogą być uciążliwe. Zmiana na https, przeniesienie do nowej domeny, zmiana nazw adresów URL i inne mogą przynieść ze sobą masowe zmiany.
Ponieważ baza danych zawiera szereg tablic serializowanych, nie można po prostu wyszukać i zastąpić SQL (chyba że stara i nowa wartość mają tę samą długość). wp search-replace oldval newvalue
to wszystko za Ciebie, usuwając, a następnie ponownie serializując tablice.
Administracja zdalna
WP-CLI ma wbudowany SSH, który pomaga zarządzać witrynami przez SSH. Ma to potencjał, aby umożliwić zarządzanie setkami witryn za pomocą jednego polecenia (tj. Aktualizacja motywu lub wtyczki w wielu witrynach).
Dużo więcej…
To, co możesz zrobić z WP-CLI, prawie nie ma końca. Z około 35 wbudowanych kategorii poleceń, które zawierają kilka podpoleceń , po pakiety innych firm, możesz łatwo zautomatyzować każde zadanie.
Łyk
Gulp to mój koń roboczy automatyzacji. Używam go do zarządzania moimi skryptami, stylami, obrazami, a nawet testowaniem urządzeń mobilnych i mechaniką odświeżania przeglądarki. Napisałem obszerny artykuł na temat korzystania z Gulp z WordPress, zajrzyj tam, aby uzyskać szczegółowe instrukcje.
Wolę Gulpa od innego popularnego wyboru – Grunta – ze względu na różnice składni. Zajrzyj do mojego artykułu Grunt For WordPress Development i zdecyduj sam!
Gulp używa pakietów Node i Node ze względu na swoją funkcjonalność, dzięki czemu jest niezwykle przenośny i potężny dzięki rozszerzeniom opartym na społeczności. Mój proces pracy z Gulp zwykle obejmuje:
- Znajdź rozszerzenie, które pasuje do moich potrzeb
- Zainstaluj pakiet węzłów za pomocą npm
- Wymagaj pakietu w pliku Gulpfile
- Napisz krótkie zadanie automatyzacji
Jedyną częścią tego, która w ogóle wymaga myślenia, jest numer cztery. Nawet wtedy większość rozszerzeń zawiera przykłady kopiowania i wklejania, które prawdopodobnie będą wymagały jedynie niewielkiej modyfikacji.
Oto rozszerzenia, których najczęściej używam:
- gulp-sass do kompilacji Sassa do CSS
- gulp-clean-css do minimalizacji CSS
- gulp-autoprefixer do automatycznego dodawania prefiksów dostawców
- gulp-include do łączenia plików JS
- gulp-uglify do minimalizowania plików JS
- gulp-imagemin do optymalizacji obrazów
- Browsersync do tworzenia serwerów deweloperskich, które pomagają w testowaniu urządzeń mobilnych
- gulp-sourcemaps do tworzenia map źródłowych dla plików zminifikowanych
nrok
ngrok to mały serwis i narzędzie wiersza poleceń, którego używam do udostępniania mojej lokalnej pracy przez Internet. ngrok tworzy bezpieczne tunele do środowiska lokalnego, udostępniając aplikację pod specjalnym adresem URL, takim jak http://7bbc49aa.ngrok.io
.
Ultrahak
Ultrahook jest swego rodzaju odwrotnością ngrok. Tam, gdzie nrok kieruje twój host lokalny do sieci, ultrahook kieruje sieć do twojego hosta lokalnego. Jest to niezwykle przydatne do testowania interfejsów API innych firm, na przykład Stripe.
Możesz ustawić Stripe tak, aby wysyłał testowe webhooki http://stripe.danielpataki.ultrahook.com
, które będą bezpiecznie przekazywane na twój lokalny serwer.
Wtyczki WordPress
Dla większości z nas programowanie WordPress jest równoznaczne z tworzeniem wtyczek i motywów. Repozytorium jest pełne wtyczek, które pomagają programistom szybciej tworzyć lepszą pracę. Oto niektóre, których używam lub używam regularnie.
Kontrola motywu
Niezbędna wtyczka dla twórców motywów. Funkcja Theme Check przeanalizuje Twój motyw i wykryje powody, dla których nie spełnia on standardów WordPressa. Analizuje przestarzały kod, obce pliki, złe praktyki, typowe błędy i mnóstwo innych potencjalnych problemów.
Zaawansowane pola niestandardowe
Advanced Custom Fields lub ACF to moja ulubiona wtyczka wszech czasów. Pozwala programistom tworzyć piękne niestandardowe pola dla swoich motywów i wtyczek w intuicyjnym i szybkim interfejsie użytkownika. Gdy skończysz, możesz całkowicie ukryć ACF i wkleić wygenerowany kod PHP do swojej pracy, aby pola pozostały nienaruszone. Dobrze wykonana i niezwykle przydatna wtyczka!

Monitor zapytań
Monitor zapytań pozwala dokładnie zobaczyć, co dzieje się w środowisku WordPress z punktu widzenia dostępu do bazy danych. Możesz przechwycić potencjalnie powolne lub nadmiarowe zapytania, zanim wejdą do działającego produktu, i zoptymalizować istniejące, aby Twój kod był znacznie szybszy.
Skrypty Bash
Skrypty Bash zawierają szereg poleceń, które są uruchamiane jedno po drugim i mogą służyć do dalszej automatyzacji zadań. Na przykład już teraz łatwo jest zainstalować WordPress z WP-CLI. Wystarczy:
Te polecenia muszą być wydawane jedna po drugiej, co zajmuje trochę czasu. Umieszczając to w pliku, nazwijmy go install.sh
, możesz utworzyć szablon do tworzenia instalacji WP.
Umieść plik w folderze, w którym chcesz utworzyć instalację, i wpisz bash install.sh
. Wszystkie polecenia zostaną wydane iw ciągu kilku sekund strona będzie gotowa do działania.
Dodając parametry, możesz uczynić go jeszcze bardziej użytecznym. Jeśli wydasz polecenie w ten sposób: bash install.sh newsite
możesz użyć parametru do wypełnienia nazwy bazy danych, adresu URL i tytułu witryny.
Pliki Bash mogą być również przydatne do tworzenia ostatecznych kompilacji (usuwania zbędnych folderów i plików, przenoszenia katalogów itp.) oraz innych podobnych zadań. Można je nawet uruchamiać z zadań Gulp, co zapewnia dużą elastyczność w przepływie pracy.
Różne narzędzia
Rozszerzenia przeglądarki są bardzo pomocne podczas testowania witryny. Oto niektóre, których używam w moim przepływie pracy.
Listonosz
Postman to rozszerzenie Chrome do tworzenia, testowania i dokumentowania interfejsów API. Uważam, że zawsze, gdy potrzebuję wykonać szybkie żądanie, aby zobaczyć, jak działa interfejs API, Listonosz jest znacznie szybszy niż jakiekolwiek inne narzędzie.
Szczególnie przydatna jest możliwość zapisywania i zarządzania żądaniami. Testowanie API to coś, co robię rzadziej, ale kiedy się do tego zabieram, zajmuje mi większość dnia, a korzystanie z czegoś takiego jak Postman znacznie ułatwia mi życie.
Edytuj ten plik cookie
EditThisCookie to kolejny przykład rozszerzenia Chrome, którego nie używam zbyt często, ale kiedy to robię, oszczędza mi wiele godzin. Pozwala zobaczyć/wyczyścić/edytować pliki cookie jednej witryny. To wszystko, ale och, jakie to może być przydatne!
Czas wczytywania strony
Czas wczytywania strony robi to, co myślisz, analizuje wczytywanie strony. Może wchodzić w ważne szczegóły, takie jak DNS/żądanie i czasy odpowiedzi, ale podoba mi się to, że pokazuje całkowity czas ładowania bezpośrednio na pasku narzędzi. Super przydatne do szybkich porównań.
Formatowanie JSON
Mój ostatni wpis dotyczący rozszerzenia przeglądarki w kategorii różnych narzędzi to JSON Formatter, który wykrywa, kiedy odpowiedź jest po prostu ciągiem JSON i formatuje ją ładnie i poprawnie, zamiast po prostu wycinać blok tekstu.
Franz
Ten właściwie nie ma nic wspólnego z rozwojem! Franz to narzędzie, które może agregować wiele usług internetowych pod jednym dachem. Moje aplikacje Messenger, Slack, Skype, Inbox by Gmail, Trello, Kalendarz Google i Todoist działają w jednym oknie zamiast swoich natywnych aplikacji.
Wszystko wygląda dokładnie tak, jakbym uruchomił je w ich zwykłych środowiskach, ale nie muszę mieć wszystkich tych ikon i mogę łatwiej przełączać się między nimi. Wspominam Franza, ponieważ pomogło mi to bardziej się skoncentrować, a jednocześnie lepiej się komunikować.
VVV
Varying Vagrant Vagrants lub w skrócie VVV to konfiguracja Vagrant typu open source do programowania dla WordPressa i samego WordPressa. Zawiera wszystkie narzędzia potrzebne do rozpoczęcia pracy, w tym kompilacje programistyczne WordPress.
Dużo więcej!
Jest tak wiele narzędzi, o których nie wspomniałem, głównie dlatego, że po prostu ich nie używam. Są świetnymi narzędziami, ale po prostu ich nie znałem, nie potrzebuję ich lub nie pasują do mojego przepływu pracy. Oto krótka lista niektórych wspaniałości, na które powinieneś spojrzeć:
- Podkreślenia za świetny szablon motywów stworzony przez dział motywów WordPress
- Korzenie dla całego stosu WordPress, w tym serwera, zarządzania aplikacjami i motywu startowego. Uważam, że to zbyt wyszukane jak na mój gust, ale może to być twój zaułek.
- WordPress Plugin Boilerplate do tworzenia standardowych wtyczek obiektowych.
Stwórz własne środowisko programistyczne
Podsumowując, są to narzędzia , których używam – niekoniecznie muszą być dla Ciebie najlepsze, ani nie są najlepiej dopasowane do każdej sytuacji. Ta konfiguracja jest wystarczająco elastyczna dla moich potrzeb, więc poświęć trochę czasu na zbadanie opcji i stworzenie przepływu pracy, który będzie dla Ciebie odpowiedni.
Powodzenia!
Tagi: