Доброго дня!
В рамках одной благотворительной организации разрабатываю корпоративную сеть. И совсем недавно я открыл для себя существование фреймворков, чему был очень рад. В качестве фреймворка был определен
Symfony 3. Сейчас занимаюсь его активным изучением, но дело в том, что из-за обилия информации на официальном сайте (гайд-буки) и “уроков”(иногда убогих) из разных видео/статей - боюсь сформировать для себя неправильную картину. Основная проблема - не могу понять “полную схему/цикл разработки и создания проекта на Symfony”. И я буду искренне благодарен, если вы сможете пролить свет на мои вопросы.
Суть:
Есть 4 типовых html-страницы (в проекте их больше, но эти - основные):
- Страница авторизации (login.html)
- Страница с описанием студента (student.html)
- Страница со списком всех студентов (list.html)
- Страница с новостями для студентов (news.html)
Эти страницы я планирую в итоге преобразовать в twig-файлы для создания шаблонов (за исключением, конечно же, login.html, т.к. эта страница не меняет содержимого).
Соответственно структура сайта такая: (1) Авторизация (по-любому URL, какой бы не ввели) -> (2) Если вошел студент - открывается станица новостей для студентов; если вошел партнер - открывается список всех студентов -> (3) От списка студентов можно перейти к конкретному студенту и посмотрить его профиль.
Я изучил виды инструментов (компонентов) и возможностей Symfony, понял иерархию и назначение всех директорий symfony-проекта. Сейчас я никак не могу перейти к написанию кода, потому что не понимаю с чего должен начать и на каких этапах какие инструменты использовать.
Поэтому, постараюсь по порядку сформулировать наиболее конкретные задачи и вопросы, которые меня мучают:
- С чего начать писать проект (что, в моем случае, нужно сделать первым)? (опустив начальную настройку нового проекта)
- Помогите, пожалуйста, составить подробный план(схему) разработки проекта (если можно, то от “symfony new project”, до “заливки на хостинг”)
- Доступ к корпоративной сети должен быть закрытым для неавторизованных пользователей (для всех неавторизованных - должен происходить переход к login.page) - как/с помощью чего это организовать?
- Должно быть 2 типа пользователей - student, partner. После успешной авторизации в системе - в случае, если ты student - переход к news.html, если же partner - то к list.html. При этом доступ у пользователя partner к странице news.html - должен быть закрыт, как и list.html для student - с помощью каких инструментов и как я могу настроить эти вещи?
- Т.к. существует регистрация студентов в системе, а также происходит хранение данных о них (от имени, до места работы/биографии) - как и в каком “месте проекта” нужно создать и настроить базу(ы) данных, в моем случае?
- Как и в каком виде правильно создать (и создавать для новых пользователей) постоянные URL для каждого пользователя?
- (Общее) Какие наилучшие варианты конфигурации (файлы в app/config) вы бы могли посоветовать для моего случая (или же на данном этапе это не так важно)? Не могу четко понять какие настройки стоит изменить, а какие трогать нежелательно.
- Какие Bundle’ы мне стоит взять на заметку, которые наиболее популярны в сообществе или которые используете сами.
На
ЛЮБЫЕ из моих вопросов я буду очень благодаренответам ответам: в формате прямых ответов, видео, ссылок на статьи/нужную документацию и пр. - буду благодарен за все, что вы сможете мне посоветовать в помощь.