Бэкенд

1

ДЛЯ ТЕХ КТО НА WINDOWS / Тут настраиваем laragon для удобной разработки на PHP

2

ДЛЯ ЛИНУКСОИДОВ и МАКОВ / Настройка php для локальной разработки (как настроить на проде либо если хочется поковыряться в nginx, то смотри модуль по vps)

3

Разбираемся с обработкой простых веб-запросов и делаем простой многостраничный сайт.

Прежде чем начать делать это задание вам надо придумать себе тему про что вы будете делать сайт.

Это могут быть персонажи, или фильмы, или какие-то музыкальные произведения, инструменты, автомобили, деревья, цветы в общем что вам любо. Главное, чтобы этому объекту можно было сопоставить картинку и какое-нибудь описание. Пока вам хватит двух экземпляров вашей темы.

Я выбрал тему космических туманностей. У меня в качестве подопытных: Галактика Андромеда и Туманность Ориона

4

Доработать сайт:

  1. Добавить дополнительные страницы с информацией об объекте и с картинкой объекта
  2. Под новые страницы сделать отдельные файлы, которые будут подключаться со страницы объекта
  3. На главную страницу вывести ссылки на все страницы
  4. На дополнительных страницах должно быть видно какой пункт меню выбран

Должно получится что-то такое:

5

Подключаем шаблонизатор Twig для работы с разметкой более грамотно

6

Переписать сайт из 2-го задания на рельсы Twig

  • Должно быть минимум два базовых шаблона шаблона, всего шаблонов будет порядка 6 штук,
    • общий шаблон
    • под главную страницу (наследует общий),
    • под страницу объекта (наследует общий),
    • под страницу с картинкой объекта (наследует шаблон объекта)
    • и под страницу с информацией о первом экземпляре объекта (наследует шаблон объекта)
    • и под страницу с информацией о втором экземпляре объекта (наследует шаблон объекта)
  • Использовать цикл для вывода пунктов меню на главной странице
  • [не обязательно] Использовать цикл для вывода пунктов в навигации
7

Доработать свое приложение, путем реализации контроллеров для всех страниц.

8

[НЕ ОБЯЗАТЕЛЬНО]

Реализовать макрос для вывода кнопки в активном состоянии. Интерфейс вызова макроса:

{{ btn("Текст на кнопке", "url", true, "warning") }}

должно сгенерировать разметку

<a href="url" class="btn btn-warning">Текст на кнопке</a>

если третий параметр – false, то выводить

<a href="url" class="btn btn-link">Текст на кнопке</a>

если четветрый параметр не указан, то для {{ btn("Текст на кнопке", "url", true) }} выводить кнопку в стиле primary

<a href="url" class="btn btn-primary">Текст на кнопке</a>

Во всех местах вашего приложения где выводится кнопка выводить ее через макрос.

Под элемент списка на главной странице создать подшаблон и подключать его через include.

Примеры работы с include и macro можно глянуть в документации https://twig.symfony.com/doc/3.x/tags/include.html и https://twig.symfony.com/doc/3.x/tags/macro.html