Перевірка робочого середовища
Перш ніж розпочати роботу над проектом, ми маємо переконатися, що у вас є правильно налаштоване середовище. Це дуже важливо. Інструменти розробників, які сьогодні є в нашому розпорядженні, дуже сильно відрізняються від тих, що були 10 років тому. Вони сильно еволюціонували, на краще. Було б прикро не використовувати їх. Хороші інструменти допоможуть досягти великих успіхів.
Будь ласка, не пропускайте цей крок. Або хоча б прочитайте останній розділ про Symfony CLI.
Комп'ютер
Вам потрібен комп’ютер. Хороша новина полягає в тому, що він може працювати на будь-якій популярній операційній системі: macOS, Windows або Linux. Symfony та всі інструменти, які ми будемо використовувати, сумісні з кожним із них.
Нав'язливий вибір
Я хочу швидко рухатися вперед з найкращими можливими варіантами. Я зробив довільний вибір для цієї книги.
PostgreSQL стане нашим вибором для всього: від бази даних до черг, від кешу до сховища сесій. Для більшості проектів PostgreSQL є найкращим рішенням, добре масштабується і дозволяє спростити інфраструктуру, керуючи тільки одним сервісом.
Наприкінці книги ми дізнаємося як використовувати RabbitMQ для черг і Redis для сесій.
IDE
Ви можете використовувати Блокнот, якщо хочете. Хоча я б не рекомендував його.
Раніше я працював в Textmate. Більше ні. Комфорт використання "справжньої" IDE безцінний. Автодоповнення, оператори use
, що додаються і сортуються автоматично, перехід від одного файлу до іншого — це декілька функцій, які підвищують вашу продуктивність.
Я рекомендую використовувати Visual Studio Code чи PhpStorm. Перша — безкоштовна, остання ні, але вона має кращу інтеграцію з Symfony (завдяки плагіну Symfony Support Plugin). Вибір за вами. Я знаю, що ви хочете знати яку IDE використовую я. Я пишу цю книгу в Visual Studio Code.
Термінал
Ми будемо постійно перемикатися з IDE на командний рядок. Ви можете використовувати вбудований в IDE термінал, але я вважаю за краще використовувати реальний, щоб мати більше місця.
Linux поставляється з вбудованим терміналом — програма Terminal
. Використовуйте iTerm2 для mac OS. У Windows добре працює Hyper.
Git
Для керування версіями ми будемо використовувати Git, оскільки зараз усі цим користуються.
У Windows, встановіть Git bash.
Переконайтеся, що ви знаєте, як виконувати звичайні операції, такі як git clone
, git log
, git show
, git diff
, git checkout
, ...
PHP
Ми будемо використовувати Docker для сервісів, але мені подобається, щоб PHP був встановлений на моєму локальному комп'ютері з причин продуктивності, стабільності та простоти. Називайте мене старомодним, якщо хочете, але поєднання локального PHP та Docker сервісів — ідеально для мене.
Використовуйте PHP 8.1 і перевірте чи встановлено наступні розширення PHP, або встановіть їх зараз: intl
, pdo_pgsql
, xsl
, amqp
, gd
, openssl
, sodium
. За бажанням також встановіть redis
, curl
і zip
.
Ви можете перевірити поточні розширення за допомогою php -m
.
Нам також знадобиться php-fpm
, якщо ваша платформа підтримує його, хоча php-cgi
теж підійде.
Composer
Управління залежностями в проекті Symfony — дуже важливо. Встановіть останню версію Composer — інструменту для управління залежностями в PHP.
Якщо ви не знайомі з Composer, знайдіть час, щоб прочитати про нього.
Tip
Нема потреби вводити команди повністю: composer req
робить те саме, що й composer require
, використовуйте composer rem
замість composer remove
, ...
NodeJS
Ми не будемо писати багато коду JavaScript, але ми будемо використовувати інструменти JavaScript/NodeJS, щоб управляти нашими ресурсами. Переконайтеся, що у вас встановлено NodeJS і менеджер пакетів Yarn.
Docker та Docker Compose
Управління сервісами буде здійснюватися за допомогою Docker і Docker Compose. Встановіть їх і запустіть Docker. Якщо ви початківець, ознайомтеся із цим інструментом. Не хвилюйтеся, сценарії використання Docker будуть досить простими, без екстравагантних конфігурацій і складних налаштувань.
Symfony CLI
І останнє, але не менш важливе, ми будемо використовувати symfony
CLI, щоб поліпшити нашу продуктивність. Від локального веб-сервера, який надається, до повної інтеграції з Docker і підтримки хмарних сервісів за допомогою Platform.sh, це значно заощадить наш час.
Встановіть Symfony CLI прямо зараз.
Щоб використовувати HTTPS локально, нам також потрібно встановити центр сертифікації (ЦС), щоб увімкнути підтримку TLS. Виконайте наступну команду:
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 для проекту.