Создание проекта

Установка Symfony

Best Practice

Используйте Composer И Symfony Flex, чтобы создавать и управлять проектами Symfony.

Composer - это менеджер пакетов, используемый современными PHP приложениями для управления их зависимостями. Symfony Flex - это плагин Composer, созданный для автоматизации некоторых наиболее распространённых задач, выполняемых в приложениях Symfony. Использования Flex необязательно, но рекомендовано, так как он значительно улучшает вашу продуктивность.

Best Practice

Используйте Symfony Skeleton, чтобы создавать новые проекты, основанные на Symfony.

Symfony Skeleton - это минимальный пустой проект Symfony, на котором вы можете основывать ваши проекты. В отличие от предыдущих версий Symfony, этот скелет устанавливает абсолютное минимальное количество зависимостей для создания полностью рабочего проекта Symfony. Прочтите статью Installing & Setting up the Symfony Framework, чтобы узнать больше об установке Symfony.

Создание приложения блога

В вашей консоли команд, найдите каталог, где у вас есть разрешение создавать файлы и выполнять следующие команды:

1
2
$ cd projects/
$ composer create-project symfony/skeleton blog

Эта команда создаёт новый каталог под названием blog, который содержит новый свежий проект, основанный на наиболее новой стабильной доступной версии Symfony.

Tip

Технические требования для запуска Symfony просты. Если вы хотите проверить, соответствует ли ваша система этим требованиям, прочтите Requirements for Running Symfony.

Структурирование приложения

После создания приложения, войдите в каталог blog/, и вы увидите перечень файлов и каталогов, созданных автоматически:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
blog/
├─ bin/
│  └─ console
├─ config/
└─ public/
│  └─ index.php
├─ src/
│  └─ Kernel.php
├─ var/
│  ├─ cache/
│  └─ log/
└─ vendor/

Эта иерархия файлов и каталогов является соглашением, предложенным Symfony для структурирования ваших приложений. Рекомендуется оставить такую структуру, так как она простая в навигации и большинство имён каталогов не требуют разъяснений, но вы можете переопределить расположение любого каталога Symfony:

Пакеты приложения

Когда была выпущена Symfony 2.0, большинство разработчиков естественно приняли способ symfony 1.x для разделения приложений на логические модули. Поэтому многие приложения Symfony использовали пакеты, чтобы делить свой код на логические функции: UserBundle, ProductBundle, InvoiceBundle, и т.д.

Но пакет должен быть чем-то, что может быть использовано повторно в качестве отдельной части ПО. Если UserBundle не может быть использован "сам по себе" в других приложениях Symfony, то он не должен быть собственным пакетом. Более того, если InvoiceBundle зависит от ProductBundle, то преимущества в содержании двух отдельных пакетов нет.

Best Practice

Не создавайте пакетов для организации логики вашего приложения.

Приложения Symfony всё ещё могут использовать сторонние пакеты (установленные в vendor/) для добавления функций, но для организации вашего кода вам стоит использовать пространства имён PHP вместо пакетов.


Далее: Configuration

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.