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.
Перейдем по указанному адресу и убедимся в работоспособности:
Структура папок
В процессе работы вы быстро привыкнете к тому, что где располагается, но все-таки краткое описание к знакомству обязательно.
- 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".
После установки так же стоит поменять путь Web Directory
с web на public.
Далее включить плагины, посредством установки чекбокса, и перезапустить IDE.