1) По поводу моделей.
Symfony не пропагандирует MVC и слоя такого как модель нет
На самом деле, Symfony хотя и не пропагандирует MVC (потому что есть MVVM, например), но легко может использоваться с MVC, всё для этого в ней есть. Единственно чего нет в Symfony - нет готового решения моделей. Почему - потому как разные ОРМы будут использовать разные решения. Но я рекомендую использовать Доктрину, в ней вообще не нужно думать о сложных моделях - просто делайте plain-php класс для объекта, без специальных базовых классов для модели.
class Person {
public $firstname;
public $lastname;
}
и этого достаточно. А доктрина умеет взять это и создать таблицу базу данных, получать оттуда в список записей, создавать новые и пр. Лучше, конечно, в классе поля сделать приватными, сделать геттеры/сеттеры, возможно - добавить методы бизнес-логики. Многие любят прямо в классе модели указывать метаданные полей (тип данных в БД) с помощью аннотаций, а некоторые переносят в отдельный yml-файл.
В общем, раз хотите учиться - берите Doctrine2. Возможно, он работает медленнее, но зато даёт очень удобное создание моделей.
2) По поводу шаблонизатора. Берите Twig. Он прекрасен. Удобно создавать свои функции, легко наследовать и переопределять блоки.
3) Валидацию моделей можно делать двумя способами - валидировать формы или валидировать модель. Начните с валидации форм, в симфонии это делается достаточно легко.
4) Авторизацию с аутентификацией тоже можно использовать симфониевскую - компонент Security.
5) Не забудьте взять компоненты DependencyInjection, Config, OptionsResolver, Yaml. Подумайте ещё о Routing, Translation, Debug, EventDispatcher, Intl и Validator. И тогда у вас получится Symfony Framework :)