Вы уже работали с самыми значимыми папками проекта Symfony 4: config/, src/, templates/. Давайте теперь рассмотрим структуру проекта:
bin/
Директория содержит различные бинарные файлы, поставляемые с composer пакетами. Самый важный из них - console - включает в себя команды для работы с проектом, дебага проекта, очистки кеша и др.
config/
Здесь хранятся конфиги проекта в целом и вендор пакетов. Может включать подпапки сред окружения, роутов.
src/
Здесь находятся все файлы вашего приложения с PHP кодом.
templates/
В данной директории находятся все шаблоны Twig
var/
Cодержит в себе кешированные данные и логи для каждого окружения (например, dev и prod) в подпапках cache/ и logs/
vendor/
Папка, куда composer устанавливает пакеты. Здесь будут хранится не только бандлы, относящиеся к Symfony, но и все установленные вами библиотеки.
public/
Это корневая директория всех публично доступных файлов. Все файлы, которые должны быть доступны пользователю, нужно хранить здесь.
Команда bin/console
$ php bin/console
При выполнении данной команды в директории проекта вы увидите список доступных команд. Среди них также команды для дебаггинга приложения Symfony 4.
Рекомендую попробовать каждую из команд и посмотреть вывод. Давайте для примера посмотрим список роутов, которые у нас есть в приложении:
$ php bin/console debug:router
------------------ -------- -------- ------ --------------------------
Name Method Scheme Host Path
------------------ -------- -------- ------ --------------------------
_twig_error_test ANY ANY ANY /_error/{code}.{_format}
about_page ANY ANY ANY /about
------------------ -------- -------- ------ --------------------------
О списке полезных команды для Symfony я уже писал в статье "Symfony. Быстрый старт". К сожалению, некоторые уже не доступны или не все доступны, как например, команды секции generate - для них есть альтернатива, а для некоторых нужно установить бандлы, которых нет в стандартном пакете Symfony4, но со списком определенно стоит ознакомиться. Тем более, что в процессе, вы узнаете много нового.
Дебаг панель Web Debug Toolbar
Одной из убойных функций Symfony является панель веб-отладки: панель, которая отображает огромное количество отладочной информации в нижней части вашей страницы во время разработки. Это все включено из коробки, используя пакет под названием symfony/profiler-pack. Если по какой-то причине вы не видите этой панели в режиме разработчика (dev env), попробуйте установить пакет:
$ composer require symfony/profiler-pack
Если после установки вы все еще не видите debug toolbar, скорее всего шаблон вашей страницы не содержит необходимых CSS and Javascript файлов. Если вы следуете нашим урокам и используете приложение из прошлых уроков, так и есть. Изменим наш шаблон, наследуя его от base.html.twig:
<!-- templates/index/about.html.twig -->
-<html>
- <head>
- <title>About us</title>
- </head>
- <body>
+{% extends 'base.html.twig' %}
+
+{% block title %}About us{% endblock %}
+{% block body %}
<h1>About us</h1>
<p>Content of the about page</p>
+{% endblock %}
- </body>
-</html>
Вы увидите черную полосу в нижней части страницы. Далее вы узнаете больше о доступной в debug toolbar информации, но не стесняйтесь экспериментировать: наведите курсор мыши и нажмите на различные значки, чтобы получить информацию о маршрутизации, производительности, логах, отправленных e-mail и многом другом.