W artykule:
W ciągu ostatnich kilku lat napisałem mnóstwo samouczków tutaj na WPMU DEV Blog, w którym dzielę się ciekawostkami na temat środowisk programistycznych, których używam.
Więc dzisiaj pomyślałem, że nadszedł czas, abym podzielił się pełnym środowiskiem, takim, które połączyłbym i wykorzystałbym do rozwoju na większą skalę.
Podwiń rękawy i przygotuj się na ubrudzenie rąk! Ponieważ Poniżej znajduje się pełny przegląd tego rodzaju środowiska programistycznego, które skonfigurowałem, i jak możesz to zrobić.
Uwaga: ten poradnik nie jest dla początkujących. Jeśli dopiero zaczynasz tworzyć WordPress, nie będziesz potrzebował tak rozbudowanego środowiska, które może wprowadzić niepotrzebną złożoność. Należy również pamiętać, że ten artykuł jest przeznaczony specjalnie dla WordPress. Pomysły i cele mogą być takie same dla projektów innych niż WordPress, ale podejście i używane narzędzia będą się różnić.
Spis treści
-
- Co sprawia, że dobre środowisko programistyczne
- Ewoluujące Środowiska
- Serwery Lokalne
- Narzędzia Wiersza Poleceń
- Skrypty Bash
- Wtyczki WordPress
- Różne Narzędzia
Co sprawia, że dobre środowisko programistyczne?
W moich oczach dobre środowisko programistyczne ma następujące trzy właściwości:
- Wysoce przenośny
- Wysoce konfigurowalny
- Wysoce zautomatyzowany
Przenośność
Przenośność jest ważnym czynnikiem, ponieważ oprócz udostępniania motywu / wtyczki, którą rozwijam, chcę również móc udostępniać środowisko programistyczne.
Chcę, aby inni programiści mogli sprawdzić źródło z GitHub i zacząć od razu, w tym Korzystanie z wszelkich narzędzi, takich jak Gulp lub Grunt. Dzięki temu projekty są łatwe do przeskoczenia, a jeśli wspierasz lepszą współpracę, masz większe szanse na powodzenie.
Przenośność może również pomóc, jeśli chcesz 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 bardzo wyrozumiały, ale możliwość dostrojenia ustawień kompilacji, Zadań gruntowania i innych opcji jest ogromną korzyścią.
Opcje konfiguracji i przenośność razem oznaczają, że możesz łatwo przetestować swoją pracę w różnych okolicznościach. Co powiesz na zmianę wersji PHP lub nawet HHVM dla pewności? Być może możesz sprawdzić kompatybilność ze starszymi wersjami WordPressa i popularnymi wtyczkami? To są rzeczy, które powinieneś być w stanie przetestować.
Automatyka
Automatyzacja jest jednym z głównych napędów w tworzeniu środowiska programistycznego do pracy WordPress. Nie chcę się martwić o moje Skrypty, arkusze stylów, Zapisywanie pracy, wdrażanie itd.
Narzędzia wiersza poleceń stanowią tylną kość mojego pakietu automatyzacji, który może zrobić wszystko, od konfiguracji WordPress za pomocą jednego polecenia do pakowania mojego produktu.
A Work in Progress
Zanim zagłębimy się w szczegóły, pomyślałem o tym, jak Środowiska programistyczne są wymyślane przez tych, którzy ich używają.
Jeśli jesteś relatywnie nowicjuszem w świecie wiersza poleceń, narzędzi do tworzenia, systemów kontroli wersji i innych rzeczy, może się wydawać, że jestem na profesjonalista, który wie wszystko i używa doskonałych narzędzi do każdego zadania.
To dość dalekie od prawdy! Jestem dobrze obeznany we wszystkich rzeczach WordPress, ale wszystko inne jest tylko dodatkiem, na którym się przyczepiłem lub którego potrzebowałem / chciałem nauczyć się, aby moje życie było szybsze. Skopiowałem inne, sam wymyśliłem bity i zmodyfikowałem rzeczy w razie potrzeby (czasami zawodzę mizernie!).
Moje środowisko programistyczne (i wiele innych) to mieszanka następujących:
- Dobrze dopracowana wiedza osobista
- Świetne wskazówki od innych
- To jakaś przypadkowa rzecz, 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 do korzystania z innych narzędzi, które mogą ci się bardziej spodobać. Jeśli znasz bardziej pomocne narzędzia lub przepływy pracy, możesz z nich korzystać 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 WordPress. Najpopularniejsze opcje to:
- Vagrant
- WAMP
- XAMPP
- MAMP
Zacząłem z XAMPP lata temu. Następnie przeniosłem się do MAMP, gdy zostałem użytkownikiem Maca, a następnie w końcu przerzuciłem się na Vagrant około dwa lata temu. Sieć i używane Narzędzia ewoluują jak zawsze i teraz mam tendencję do korzystania z Vagrant I MAMP, jak również. Wyjaśnię dlaczego poniżej.
Wzmacniacze
„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. Pobierz i zainstaluj aplikację, naciśnij przycisk ” on ” i wszystko będzie działać zgodnie z oczekiwaniami.
Zawodowcy:
Jest szybki, łatwy, intuicyjny i działa na wszystkich systemach przez cały czas. Ma świetny interfejs użytkownika, za pomocą którego można dostosować ustawienia PHP, przełączyć się na Nginx, skonfigurować Memcached, Postfix, skonfigurować serwery wirtualne i wiele innych.
Wady:
Chociaż istnieje wiele rzeczy, które można dostosować, kontrola jest ograniczona. Nie możesz zmienić systemu operacyjnego ani wprowadzić innych zmian, na które pozwoliłby ci pełny dostęp SSH.
Wszystkie wzmacniacze tracą przenośność z tego samego powodu. Są na tyle popularne, że każdy może je zainstalować, ale nie są samodzielne i minimalne jak Vagrant konfiguracje.
Vagrant
Włóczęga jest trochę inna. Zamiast wstępnego pakowania i środowiska dla ciebie, daje 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.
Zawodowcy:
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 skonfigurować zgodnie z własnym sercem. Dowolny system operacyjny, dowolne oprogramowanie, od różnych metod buforowania po kompilację własnego PHP. Możesz dokładnie replikować środowisko rzeczywistego hosta, aby upewnić się, że witryna będzie działać w dokładnie taki sam sposób na komputerze lokalnym.
Wady:
Jeśli nie jesteś na bieżąco z wykorzystaniem linii poleceń, Vagrant może mieć stromą krzywą uczenia się. Gdy wszystko się ułoży, wszystko, co musisz zrobić, to wydać jedną komendę. Jeśli coś odmówi pracy, z jakiegokolwiek powodu, znajdziesz się w 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 instalacją WP, 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 oczywiście pracować z witrynami nie-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 non-WP, polecam chwycić Vagrant i dać mu szansę. Nauczy Cię wiele o tym, jak serwery działają wewnętrznie i pozwolą dokładnie udostępniać środowiska.
Wolę używać obu. Kiedy potrzebuję (lub mam czas), mogę skonfigurować moje środowisko do ostatniego szczegółu za pomocą Vagrant. Kiedy potrzebuję czegoś prostego lub do projektu WordPress, MAMP jest moją preferowaną opcją.
Rachel McCollin, Inna pisarka tutaj w WPMU DEV, napisała świetny przewodnik na temat konfiguracji MAMP, a ja przyczyniłem się do rozwoju WordPress z 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. Do najbardziej znanych należą WP-Cli, Gulp, ngrok i Ultrahook.
WP-CLI
WP-CLI to niezwykle potężne narzędzie wiersza poleceń, które pozwala zautomatyzować wszystko o WordPress. Napisałem już samouczek o zaawansowanym rozwoju WordPress z WP-CLI, więc pokażę Ci tylko niektóre z magii, jaką może zrobić.
Zakładanie Nowych Witryn
Możesz pobrać, skonfigurować i zainstalować WordPress za pomocą kilku prostych poleceń, takich jak wp core download
oraz wp core config
. Dokumentacja jest obfita i łatwa do naśladowania.
Używam WP – CLI wraz ze skryptami bash do tworzenia małych szablonów do tworzenia nowej strony. 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 bazy danych i zastępowanie są czasami potrzebne, ale może być uciążliwe. Zmiana na https, przejście do nowej domeny, zmiana nazw adresów URL i inne mogą przynieść ze sobą pewne masowe zmiany.
Ponieważ baza danych zawiera szereg seryjnych tablic, nie można po prostu przeszukiwać i zastępować SQL (chyba że stara i nowa wartość mają tę samą długość). wp search-zastąp oldval newvalue
rozwiąże to wszystko za Ciebie, unserializując, a następnie ponownie serializując Twoje tablice.
Zdalna Administracja
WP-CLI ma wbudowany SSH, aby pomóc Ci zarządzać witrynami przez SSH. Ma to potencjał, aby umożliwić Ci zarządzanie setkami witryn za pomocą jednego polecenia (np. aktualizacja motywu lub wtyczki w wielu witrynach).
O Wiele Więcej…
Nie ma prawie końca tego, co możesz zrobić z WP-CLI. Z około 35 wbudowanych kategorii poleceń, które zawierają kilka podrzędnych poleceń do pakietów innych firm, możesz łatwo zautomatyzować każde zadanie.
Gulp
Gulp to mój koń automatyzacji. Używam go do zarządzania moimi skryptami, stylami, obrazami, a nawet testami mobilnymi i mechaniką odświeżania przeglądarki. Napisałem obszerny artykuł o użyciu Gulp z WordPress, spójrz tam na szczegółowe instrukcje.
Wolę Gulp od innego popularnego wyboru-Grunt-ze względu na różnice w składni. Zajrzyj do mojego artykułu Grunt for WordPress i zdecyduj się!
Gulp używa pakietów Node i node ze względu na swoją funkcjonalność, dzięki czemu jest niezwykle przenośny i wydajny dzięki rozszerzeniom opartym na społeczności. Mój proces pracy z Gulp zazwyczaj obejmuje następujące czynności:
- Znajdź rozszerzenie, które pasuje do moich potrzeb
- Zainstaluj pakiet node za pomocą npm
- Wymaganie 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ń ma przykłady kopiuj-wklej, które prawdopodobnie będą musiały zostać zmodyfikowane tylko trochę.
Oto rozszerzenia, których używam najczęściej:
- gulp-sass do kompilacji Sass do CSS
- gulp-clean-css do minifigurowania CSS
- gulp-autoprefixer do automatycznego dodawania prefiksów dostawcy
- gulp-include do łączenia plików JS
- gulp-uglify dla minfying plików JS
- gulp-imagemin do optymalizacji obrazów
- Browsersync do tworzenia serwerów dev, które pomagają w testowaniu mobilnym
- gulp-sourcemaps do tworzenia map źródłowych dla minifikowanych plików
ngrok
ngrok to mała usługa i narzędzie wiersza poleceń, których używam do udostępniania mojej lokalnej pracy przez internet. ngrok tworzy bezpieczne tunele do lokalnego środowiska, wystawiając Twoją aplikację na specjalny adres URL, taki jak http://7bbc49aa.ngrok.io
.
Ultrahook
Ultrahook jest swego rodzaju odwrotnością ngrok. Tam, gdzie ngrok kieruje Twój localhost do sieci, ultrahook kieruje sieć do twojego localhost. Jest to niezwykle przydatne do testowania zewnętrznych interfejsów API, takich jak na przykład Stripe.
Możesz ustawić Stripe, aby wysyłać testowe webhooki do http://stripe.danielpataki.ultrahook.com
które zostaną bezpiecznie przekazane do lokalnego serwera.
Wtyczki WordPress
Dla większości z nas rozwój WordPress jest synonimem rozwoju 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.
Sprawdź Temat
Wtyczka obowiązkowa dla twórców motywów. Theme Check przeanalizuje Twój motyw i wypluje powody, dla których nie spełnia standardów WordPress. Przegląda przestarzały kod, obce pliki, złe praktyki, typowe błędy i mnóstwo innych potencjalnych problemów.
RTL Checker
Czy uważasz, że obsługa języków od prawej do lewej jest łatwa? Pomyśl jeszcze raz! To nie tyle wyzwanie techniczne, ale ci, którzy czytają/piszą wyłącznie od lewej do prawej, uważają RTL za tak obcy, że trudno dostrzec problemy bez rzeczywistego testowania. Tester RTL sprawia, że jest to bardzo łatwe, umożliwiając umieszczenie witryny w trybie RTL za pomocą jednego kliknięcia przełącznika.
Zaawansowane Pola Niestandardowe
Advanced Custom Fields lub ACF to moja ulubiona wtyczka. Pozwala programistom tworzyć piękne niestandardowe pola dla swoich motywów i wtyczek w intuicyjnym i szybkim interfejsie użytkownika. Po zakończeniu możesz całkowicie ukryć ACF i wkleić wygenerowany kod PHP do swojej pracy, aby zachować nienaruszone pola. 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 złapać potencjalnie wolne lub nadmiarowe zapytania, zanim trafią do aktywnego produktu i zoptymalizować istniejące, aby Kod był znacznie szybszy.
Skrypty Bash
Skrypty Bash zawierają kilka poleceń, które są uruchamiane jeden po drugim i mogą być używane do dalszej automatyzacji zadań. Na przykład jest już łatwo zainstalować WordPress z WP-CLI. Wystarczy, że:
Polecenia te muszą być wydawane jeden po drugim, co zajmuje trochę czasu. Umieszczając to w pliku, nazwijmy to 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, a w ciągu kilku sekund uruchomisz witrynę.
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ć tego parametru, aby wypełnić nazwę bazy danych, adres URL i tytuł witryny.
Pliki Bash mogą być również przydatne do tworzenia końcowych kompilacji (usuwanie obcych folderów i plików, przenoszenie katalogów itp. ) i inne podobne zadania. Można je nawet uruchamiać z zadań Gulp, co daje dużą elastyczność w przepływie pracy.
Narzędzia Różne
Rozszerzenia przeglądarki są bardzo pomocne podczas testowania witryny. Oto niektóre z nich, których używam w moim przepływie pracy.
Listonosz
Postman to rozszerzenie chrome do budowania, testowania i dokumentowania interfejsów API. Uważam, że ilekroć muszę zrobić szybką prośbę, aby zobaczyć, jak działa API, Listonosz jest znacznie szybszy niż jakiekolwiek inne narzędzie.
Szczególnie przydatna jest możliwość zapisywania żądań i zarządzania nimi. Testowanie API jest czymś, co robię rzadziej, ale kiedy się do tego dochodzę, zajmuje to większość mojego dnia, używanie czegoś takiego jak listonosz znacznie ułatwia mi życie.
EditThisCookie
EditThisCookie to kolejny przykład rozszerzenia Chrome, którego nie używam zbyt często, ale kiedy to robię, oszczędza mi godziny na godziny. Pozwala zobaczyć/wyczyścić / edytować pojedyncze pliki cookie witryny. To wszystko, ale o rany, jakie to może być przydatne!
Czas Ładowania Strony
Czas ładowania strony robi to, co chcesz, analizuje obciążenie strony. Może przejść do ważnych szczegółów, takich jak DNS / Request I czasy odpowiedzi, ale podoba mi się to, że pokazuje ogólny czas ładowania na pasku narzędzi. Super poręczny do szybkich porównań.
JSON Formatter
Mój ostatni wpis rozszerzenia przeglądarki w kategorii Różne narzędzia to JSON Formatter, który wykrywa, gdy odpowiedź jest po prostu ciągiem JSON i formatuje to wszystko ładnie i poprawnie, zamiast po prostu wyrzucać blok tekstu.
Franz
To nie ma nic wspólnego z rozwojem! Franz jest narzędziem, które może łączyć wiele serwisów internetowych pod jednym dachem. Aplikacje My Messenger, Slack, Skype, Inbox by Gmail, Trello, Google Calendar i Todoist działają w jednym oknie zamiast aplikacji natywnych.
Wszystko wygląda dokładnie tak, jakbym uruchomił je w ich zwykłych środowiskach, ale nie muszę mieć tych wszystkich ikon i mogę łatwiej przełączać się między nimi. Wspominam o Franzu, ponieważ pomógł mi się bardziej skupić, a jednocześnie lepiej komunikować.
VVV
Various Vagrant Vagrants lub w skrócie VVV to otwarta Konfiguracja Vagrant do tworzenia dla WordPressa i samego WordPressa. Zawiera wszystkie narzędzia potrzebne do rozpoczęcia pracy, w tym Kompilacje programistyczne WordPress.
O Wiele Więcej!
Jest tak wiele narzędzi, o których nie wspomniałem, głównie dlatego, że po prostu ich nie używam. Są to świetne narzędzia, ale po prostu ich nie obejrzałem, nie potrzebuję ich lub nie pasują do mojego przepływu pracy. Oto krótka lista niektórych wielkości, na które powinieneś spojrzeć:
- Podkreślenia za świetny motyw boilerplate wykonany 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 skomplikowane, jak na mój gust, ale to może być twoja działka.
- WordPress Plugin Boilerplate dla standaryzowanego obiektowego rozwoju wtyczek.
- Z góry do tworzenia pięknych motywów za pomocą niesamowitego interfejsu
Stwórz Własne Środowisko Programistyczne
Podsumowując, są to narzędzia I zastosowanie-niekoniecznie pasują do ciebie, ani nie pasują do każdej sytuacji. Ta konfiguracja jest wystarczająco elastyczna dla moich potrzeb, więc poświęć trochę czasu na zbadanie opcji i stworzenie odpowiedniego przepływu pracy.
Powodzenia!
Tagi: