Etap 1: Przygotowanie środowiska pracy

5.0 version
Maintained

Przygotowanie środowiska pracy

Zanim rozpoczniemy pracę nad projektem, musimy upewnić się, że mamy właściwe środowisko pracy. To bardzo ważne. Narzędzia programistyczne, którymi dzisiaj dysponujemy, bardzo różnią się od tych, których używaliśmy 10 lat temu. Przeszły pozytywną zmianę, szkoda byłoby zatem z nich nie skorzystać. Odpowiednio dobrane narzędzia bardzo ułatwią nam pracę.

Proszę, nie pomijaj tego kroku. Przeczytaj przynajmniej ostatnią sekcję o Symfony CLI.

Komputer

Potrzebujesz komputera. Dobra wiadomość jest taka, że może na nim działać dowolny, popularny system operacyjny: macOS, Windows lub Linux. Symfony i wszystkie narzędzia, których będziemy używać, są kompatybilne z każdym z nich.

Podjęte decyzje projektowe

Chciałbym szybko przejść przez wybór dostępnych opcji. Na potrzeby tej książki podjąłem kilka decyzji projektowych kierując się swoimi doświadczeniami.

PostgreSQL będzie naszym wyborem jako silnik bazodanowy.

RabbitMQ zwycięża wśród systemów kolejkowania.

IDE

Możesz użyć notatnika, jeśli chcesz, aczkolwiek nie polecam.

Miałem okazję pracować w Textmate - nigdy więcej. Komfort korzystania z „prawdziwego” IDE jest bezcenny. Autouzupełnianie, automatyczne dodawanie i sortowanie instrukcji use, czy płynne przechodzenie między kolejnymi plikami projektu, to tylko kilka z wielu funkcji, które zwiększą Twoją produktywność oraz wygodę pracy.

Osobiście polecam skorzystać z jednego z dwóch IDE: Visual Studio Code lub PhpStorm. Pierwszy z nich jest darmowy, drugi już nie, ale posiada za to dużo lepszą integrację z Symfony (dzięki wtyczce Symfony Support Plugin) - wybór zostawiam Tobie. Pewnie chcielibyście wiedzieć, z którego IDE osobiście korzystam? Ta książka została napisana z wykorzystaniem Visual Studio Code.

Terminal

Bardzo często będziemy przełączać się między IDE a terminalem. Możesz używać terminala wbudowanego w IDE, ale ja wolę używać systemowego, aby mieć więcej miejsca.

Linux posiada wbudowany Terminal. Na MacOS użyj iTerm2. W systemie Windows Hyper jest dobrym wyborem.

Git

W mojej ostatniej książce polecałem Subversion jako system kontroli wersji. Wygląda na to, że teraz wszyscy używają Gita.

Jeśli używasz systemu Windows, zainstaluj Git BASH.

Upewnij się, że wiesz, jak wykonywać podstawowe operacje, takie jak: git clone, git log, git show, git diff, git checkout, …

PHP

Będziemy używać Dockera dla usług, lecz PHP lubię mieć zainstalowany na lokalnym komputerze dla wydajności, stabilności i prostoty. Nazywaj mnie staromodnym, jeśli chcesz, ale połączenie lokalnego PHP i Dockera jest dla mnie idealne.

Jeśli możesz, użyj PHP 7.3 lub 7.4 w zależności od tego kiedy czytasz tę książkę. Sprawdź, czy następujące rozszerzenia PHP są zainstalowane. Jeżeli nie, zainstaluj je teraz: intl, pdo_pgsql, xsl, amqp, gd, openssl, sodium. Opcjonalnie możesz zainstalować również redis i curl.

Możesz sprawdzić aktualnie włączone rozszerzenia poprzez php -m.

Będziemy także potrzebować php-fpm, jeśli jest dostępny na Twojej platformie. Możesz również wykorzystać php-cgi.

Composer

Zarządzanie zależnościami jest obecnie niezbędne w projekcie Symfony. Pobierz najnowszą wersję Composer, narzędzia do zarządzania pakietami dla PHP.

Jeśli nie znasz narzędzia Composer, poświęć chwilę na zapoznanie się z nim.

Wskazówka

Nie musisz wpisywać pełnych nazw poleceń: composer req robi to samo co composer require, użyj composer rem zamiast composer remove, ….

Docker i Docker Compose

Usługi będą zarządzane przez platformę Docker oraz narzędzie Docker Compose. Zainstaluj je, a następnie uruchom Dockera. Jeśli nie znasz Dockera, poznaj go. Nie ma powodów do obaw, cały proces będzie bardzo prosty. Bez dziwnych konfiguracji, bez skomplikowanych ustawień.

Symfony CLI

Wreszcie, co nie mniej ważne, wykorzystamy symfony CLI, aby zwiększyć naszą produktywność. Od uruchomienia lokalnego serwera WWW, po pełną integrację Dockera i obsługę SymfonyCloud - oszczędzimy mnóstwo czasu.

Zainstaluj Symfony CLI i dodaj jego ścieżkę do zmiennej $PATH. Załóż konto SymfonyConnect, jeśli jeszcze go nie masz, i zaloguj się przez symfony login.

Aby korzystać z HTTPS lokalnie, musimy również zainstalować CA, aby włączyć obsługę TLS. Wykonaj następujące polecenie:

1
$ symfony server:ca:install

Sprawdź, czy Twój komputer spełnia wszystkie niezbędne wymagania, wykonując następujące polecenie:

1
$ symfony book:check-requirements

Jeśli masz ochotę, możesz również uruchomić serwer proxy Symfony. Jest to opcjonalne, ale pozwala na uzyskanie nazwy domeny lokalnej kończącej się na .wip w Twoim projekcie.

Gdy wykonujemy polecenie w terminalu, prawie zawsze będziemy je poprzedzać słowem symfony, jak na przykład symfony composer zamiast samego composer, lub symfony console zamiast ./bin/console.

Głównym powodem jest to, że narzędzie Symfony CLI automatycznie ustawia niektóre zmienne środowiskowe w oparciu o usługi działające na Twojej maszynie poprzez Dockera. Te zmienne środowiskowe są dostępne dla żądań (ang. requests) HTTP, ponieważ lokalny serwer WWW wstrzykuje je automatycznie. Tak więc, użycie symfony w konsoli gwarantuje, że działanie aplikacji będzie takie samo w linii komend jak na stronie WWW.

Ponadto, Symfony CLI automatycznie wybiera „najlepszą” możliwą wersję PHP dla projektu.


This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.