Skip to content
  • About
    • What is Symfony?
    • Community
    • News
    • Contributing
    • Support
  • Documentation
    • Symfony Docs
    • Symfony Book
    • Screencasts
    • Symfony Bundles
    • Symfony Cloud
    • Training
  • Services
    • Platform.sh for Symfony Best platform to deploy Symfony apps
    • SymfonyInsight Automatic quality checks for your apps
    • Symfony Certification Prove your knowledge and boost your career
    • SensioLabs Professional services to help you with Symfony
    • Blackfire Profile and monitor performance of your apps
  • Other
  • Blog
  • Download
sponsored by
  1. Home
  2. Documentation
  3. Symfony: The Fast Track
  4. Polish
  5. Przygotowanie środowiska pracy

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.

Użyjemy PostgreSQL do wszystkiego: od kolejek (ang. queue), przez magazyn pamięci podręcznej (ang. cache), aż do przechowywania sesji (ang. session storage). Dla większości projektów PostgreSQL jest rozwiązaniem idealnym - dobrze się skaluje i pozwala uprościć infrastrukturę, dzięki czemu musimy zarządzać tylko jedną usługą.

Na końcu tej książki nauczymy się w jaki sposób używać RabbitMQ do obsługi kolejek i Redis do obsługi sesji.

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

Jako systemu kontroli wersji użyjemy Gita, jako najpopularniejszego ze wszystkich.

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.

Użyj PHP 8.1 i 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, curl i zip.

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.

Tip

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

NodeJS

Co prawda nie będziemy pisali dużo kodu w JavaScript, ale będziemy używali narzędzi napisanych w JavaScript/NodeJS do zarządzania naszymi zasobami (ang. assets). Upewnij się, że masz zainstalowany NodeJS oraz narzędzie do zarządzania pakietami Yarn.

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ę chmurowego rozwiązania poprzez Platform.sh - oszczędzimy mnóstwo czasu.

Zainstaluj Symfony CLI.

Aby korzystać z HTTPS lokalnie, musimy również zainstalować urząd certyfikacji (ang. Certificate Authority), 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.

Previous page O czym jest ta książka?
Next page Przedstawienie projektu
This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.
TOC
    Version

    Symfony 5.4 is backed by

    Measure & Improve Symfony Code Performance

    Measure & Improve Symfony Code Performance

    Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).

    Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).

    Version:
    Locale:
    ebook

    This book is backed by:

    see all backers

    Symfony footer

    Avatar of Andrew M-Y, a Symfony contributor

    Thanks Andrew M-Y (@andr) for being a Symfony contributor

    3 commits • 180 lines changed

    View all contributors that help us make Symfony

    Become a Symfony contributor

    Be an active part of the community and contribute ideas, code and bug fixes. Both experts and newcomers are welcome.

    Learn how to contribute

    Symfony™ is a trademark of Symfony SAS. All rights reserved.

    • What is Symfony?

      • What is Symfony?
      • Symfony at a Glance
      • Symfony Components
      • Symfony Releases
      • Security Policy
      • Logo & Screenshots
      • Trademark & Licenses
      • symfony1 Legacy
    • Learn Symfony

      • Symfony Docs
      • Symfony Book
      • Reference
      • Bundles
      • Best Practices
      • Training
      • eLearning Platform
      • Certification
    • Screencasts

      • Learn Symfony
      • Learn PHP
      • Learn JavaScript
      • Learn Drupal
      • Learn RESTful APIs
    • Community

      • Symfony Community
      • SymfonyConnect
      • Events & Meetups
      • Projects using Symfony
      • Contributors
      • Symfony Jobs
      • Backers
      • Code of Conduct
      • Downloads Stats
      • Support
    • Blog

      • All Blog Posts
      • A Week of Symfony
      • Case Studies
      • Cloud
      • Community
      • Conferences
      • Diversity
      • Living on the edge
      • Releases
      • Security Advisories
      • Symfony Insight
      • Twig
      • SensioLabs Blog
    • Services

      • SensioLabs services
      • Train developers
      • Manage your project quality
      • Improve your project performance
      • Host Symfony projects

      Powered by

    Follow Symfony