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. Ukrainian
  5. Перевірка робочого середовища

Перевірка робочого середовища

Перш ніж розпочати роботу над проектом, ми маємо переконатися, що у вас є правильно налаштоване середовище. Це дуже важливо. Інструменти розробників, які сьогодні є в нашому розпорядженні, дуже сильно відрізняються від тих, що були 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 для проекту.

Previous page Про що ця книга?
Next page Знайомство з проектом
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

    Show your Symfony expertise

    Show your Symfony expertise

    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 Markus Baumer, a Symfony contributor

    Thanks Markus Baumer for being a Symfony contributor

    1 commit • 22 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