Install Symfony

Установка

Введем в консоли composer create-project symfony/skeleton имя_вашего_проекта. После продолжительной установки перейдем в папку с проектом, в моем случае - cd twitter.

Теперь развернем локальный сервер для разработки. Если вам удобнее, можете сделать это через OpenServer, XAMPP, да хоть на хостинге, входной скрипт лежит в папке public. Мне больше нравится идея использования рецепта веб-сервера, как бы странно это ни звучало. В консоли напишем composer require server.

После установки сервера нужно его запустить, для этого существуют две команды - php bin/console server:run и php bin/console server:start. Разница в том, что после запуска первой команды консоль будет вам недоступна (хотя никто не мешает открыть второе окно), а во втором наоборот. Мне привычнее перезапускать сервер после каких-либо обновлений, поэтому буду использовать php bin/console server:run. После запуска сервера ваш сайт будет расположен по адресу, который выплюнула консоль. К слову, остановить работу сервера можно с помощью Ctrl+C. Start local server Перейдем по указанному адресу и убедимся в работоспособности: Local server run


Структура папок

В процессе работы вы быстро привыкнете к тому, что где располагается, но все-таки краткое описание к знакомству обязательно.

bin
В данной директории находится скрипт (console) для запуска консольных команд.
config
Основные настройки приложения. Здесь вы можете отредактировать параметры вашего приложения, такие как доступ к БД, сессии, куки, доступ к разделам сайта и многое другое. Замечу, что кому-то может показаться непривычным размещение настроек в разных файлах, особенно учитывая их количество. В помощь придет команда php bin/console config:dump-reference framework (framework - это имя файла), которая покажет все что можно изменить.

По умолчанию в Symfony заложены dev, prod и test окружения. Отличия каждого из них в файлах конфигураци, которые находятся в папке packages -> тип окружения. Например, в dev режиме у нас может быть подключена дебаг-панель, отправленные email сохраняются во временных файлах и прочее, а в prod окружении наоборот, все серьезно. Тип окружения определяется в файле .env параметром APP_ENV.
public
Расположение входного скрипта index.php, а так же css, js, img.
src
Большую часть времени мы проведем в текущей директории, создавая и редактируя контроллеры, шаблоны, сущности, репозитории.
templates
Каталог templates будет создан после того как мы установим шаблонизатор Twig. Содержит в себе представления нашего приложения.
var
Кэш и логи.
vendor
Все, что устанавливается через composer, помещается в данную директорию.
.env
Конфигурационный файл, который содержит в себе основные переменные окружения. Когда вы устанавливаете какие-либо пакеты, переменных становится все больше и управлять ими из разных мест было бы не очень удобно. Вот, собственно цель данного файла.
Например, при установке Doctrine (рецепт для работы с БД) в файл добавится DATABASE_URL, который укажет путь и данные авторизации к базе данных.

Плагины для PhpStorm

Для работы с Symfony в PhpStorm существуют достаточно популярные и удобные плагины, которые добавят автокомплиты, подсказки по шаблонизатору, поддержку аннотаций и многое другое. Для установки необходимо перейти в File => Settings => Plugins и ввести в поиске "Symfony". Вместе с "Symfony Plugin" будет так же предложено установить "annotations". Local server run

После установки так же стоит поменять путь Web Directory с web на public.
Далее включить плагины, посредством установки чекбокса, и перезапустить IDE. Local server run