Vse o WEB
Информация и размышления о Web технологиях

Структура проекта и debug tools

Вы уже работали с самыми значимыми папками проекта Symfony 4: config/, src/, templates/. Давайте  теперь рассмотрим структуру проекта:

 

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

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.

Команды для дебаггинга приложения Symfony

 

Рекомендую попробовать каждую из команд и посмотреть вывод. Давайте для примера посмотрим список роутов, которые у нас есть в приложении:

$ 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 и многом другом.

Наверх