Шаг 1: Проверка рабочего окружения
Проверка рабочего окружения¶
Прежде чем приступить к разработке проекта, нужно проверить, что у вас корректно настроено рабочее окружение. Это очень важно. Имеющиеся на сегодня инструменты разработки сильно отличаются от тех, которые были 10 лет назад. Они существенно изменились в лучшую сторону. Было бы глупо не использовать их: хорошие инструменты помогут добиться больших успехов.
Пожалуйста, не пропускайте этот шаг. Или, по крайней мере, прочитайте последний раздел про Symfony CLI.
Компьютер¶
Вам понадобится компьютер. К счастью, он может быть на любой популярной операционной системе: macOS, Windows или Linux. Symfony и все инструменты, которые мы будем использовать, совместимы с любой из них.
Используемые технологии¶
Будем разрабатывать быстро, используя лучшие инструменты на сегодняшний момент. Для этого я выбрал наиболее подходящие, на мой взгляд, технологии.
Мы будем использовать PostgreSQL для всего: от базы данных до очередей, от кеша до хранилища сессий. Для большинства проектов PostgreSQL – отличное решение, которое хорошо масштабируется и позволяет упростить инфраструктуру всего лишь с помощью одного сервиса.
В конце книги мы узнаем, как использовать RabbitMQ для обработки очередей и Redis для хранения сессий.
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 8.0 и установите следующие следующие модули PHP, если они отсутствуют: intl
, pdo_pgsql
, xsl
, gd
, openssl
, sodium
. Также можно установить redis
, curl
и zip
.
С помощью команды php -m
можно посмотреть включённые в данный момент модули.
Нам также понадобится php-fpm
, если ваша платформа его поддерживает, хотя php-cgi
тоже подойдёт.
Composer¶
Управление зависимостями в проекте на Symfony очень важно. Установите последнюю версию инструмента для управления зависимостями в PHP — Composer.
Если вы не работали с Composer, то рекомендую изучить его команды.
Совет
Можно использовать сокращённые имена команд: composer req
вместо composer require
, composer rem
вместо composer remove
и т. д.
NodeJS¶
Мы не будем писать много JavaScript-кода, но всё же воспользуемся инструментами JavaScript/NodeJS для управлениями нашими ресурсами. Проверьте, что у вас установлен NodeJS и менеджер пакетов Yarn.
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.