Шаг 1: Проверка рабочего окружения

5.0 version
Maintained

Проверка рабочего окружения

Прежде чем приступить к разработке проекта, нужно проверить, что у вас корректно настроено рабочее окружение. Это очень важно. Имеющиеся на сегодня инструменты разработки сильно отличаются от тех, которые были 10 лет назад. Они существенно изменились в лучшую сторону. Было бы глупо не использовать их: хорошие инструменты помогут добиться больших успехов.

Пожалуйста, не пропускайте этот шаг. Или, по крайней мере, прочитайте последний раздел про Symfony CLI.

Компьютер

Вам понадобится компьютер. К счастью, он может быть на любой популярной операционной системе: macOS, Windows или Linux. Symfony и все инструменты, которые мы будем использовать, совместимы с любой из них.

Используемые технологии

Будем разрабатывать быстро, используя лучшие инструменты на сегодняшний момент. Для этого я выбрал наиболее подходящие, на мой взгляд, технологии.

PostgreSQL для сервера базы данных.

RabbitMQ — фаворит для работы с очередями.

IDE

Если хотите, вы можете использовать Notepad. Хотя я бы не рекомендовал этого делать.

Раньше я работал в Textmate. Теперь же я пользуюсь «настоящей» IDE. Благодаря таким функциям IDE, как автодополнение, автоматическое добавление и сортировка операторов use, быстрое переключение с одного файла на другой, ваша производительность увеличится в разы.

Я бы рекомендовал использовать Visual Studio Code или PhpStorm. Первая программа бесплатна, вторая — нет, но лучше работает с Symfony (благодаря плагину Symfony Support). Решение за вами. Я знаю, что вы хотели бы узнать, какую из этих IDE я использую. Эту книгу я пишу в Visual Studio Code.

Терминал

Мы будем постоянно переключаться между IDE и командной строкой. Вы можете использовать встроенный терминал в IDE, хотя лично мне больше нравится использовать внешний терминал из-за того, что можно изменить размер окна.

В Linux есть встроенный терминал — программа Terminal. В macOS рекомендую вместо штатного терминала использовать iTerm2, а в Windows хорошо зарекомендовал себя Hyper.

Git

В своей последней книге я рекомендовал Subversion в качестве системы управления версиями. Сейчас времена изменились — все, как правило, используют Git.

В Windows установите Git Bash.

Убедитесь, что вы знаете, как выполнять основные команды, такие как git clone, git log, git show, git diff, git checkout и т. п.

PHP

Мы будем использовать Docker для разнообразных сервисов приложения, хотя для простоты, производительности и стабильности на моём компьютере установлен PHP. Можете считать меня консерватором, но сочетание локально установленного PHP и сервисов Docker — это идеальный для меня вариант.

По возможности используйте PHP 7.3 или 7.4, в зависимости от того, когда вы читаете эту книгу. Убедитесь, что следующие модули PHP установлены или будут установлены: intl, pdo_pgsql, xsl, gd, openssl, sodium. Можете также установить redis и curl.

С помощью команды php -m можно посмотреть включённые в данный момент модули.

Нам также понадобится php-fpm, если ваша платформа его поддерживает, хотя php-cgi тоже подойдёт.

Composer

Управление зависимостями в проекте на Symfony очень важно. Установите последнюю версию инструмента для управления зависимостями в PHP — Composer.

Если вы не работали с Composer, то рекомендую изучить его команды.

Совет

Можно использовать сокращённые имена команд: composer req вместо composer require, composer rem вместо composer remove и т. д.

Docker и Docker Compose

Docker и Docker Compose будут управлять сервисами приложения. Установите их и запустите Docker. Если вы впервые пользуетесь Docker, ознакомьтесь с этим инструментом. Не переживайте: сценарии использования Docker будут достаточно простыми, без сложных конфигураций и настроек.

Symfony CLI

И последнее, но не менее важное: для ускорения разработки мы будем использовать инструмент командной строки symfony. Начиная с того, что он предоставляет функции локального веб-сервера, и заканчивая его полной интеграцией с Docker и поддержкой SymfonyCloud, этот инструмент сэкономит нам немало времени.

Установите Symfony CLI и не забудьте переместить эту утилиту в одну из директорий, заданных в переменной окружения $PATH. Создайте учётную запись SymfonyConnect если у вас её ещё нет, и авторизуйтесь с помощью команды symfony login.

Для использования HTTPS на локальном сервере нужно ещё добавить поддержку TLS, установив центр сертификации (certificate authority, CA) с помощью следующей команды:

1
$ symfony server:ca:install

Убедитесь, что на вашем компьютере всё готово для работы, выполнив следующую команду:

1
$ symfony book:check-requirements

Если вы хотите немного поэкспериментировать, запустите прокси-сервер Symfony. Хотя это необязательно, наш проект будет доступен по локальному доменному имени, оканчивающемуся на .wip.

При выполнении команды в терминале мы почти всегда будем использовать префикс symfony. Например, symfony composer, а не просто composer, либо symfony console вместо ./bin/console.

Основная причина — Symfony CLI автоматически создаёт некоторые переменные окружения, исходя из сервисов, запущенных на вашем компьютере с помощью Docker. Эти переменные окружения доступны для HTTP-запросов, поскольку локальный веб-сервер добавляет их автоматически. Таким образом, использование префикса symfony в CLI даст одинаковый результат на разных платформах.

Кроме того, Symfony CLI автоматически выбирает «самую подходящую» версию PHP из доступных на вашей локальной машине.


  • « Previous Шаг 0: О чём эта книга?
  • Next » Шаг 2: Знакомство с проектом

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