====== Проект bmipk.ru ====== ===== Февраль, 2016 ===== **Февраль, 2016 г.** Завершен. ==== Цели проекта ==== Доработка анкеты выпускника на сайте Башкирского межотраслевого института. ==== Особенности ==== CMS Symfony, HTML, JavaScript, PHP, AJAX. ==== Описание ==== {{ :projects:lp:project-lp_bmipk.ru.png?300|Проект bmipk.ru}} Очередная задачка на Symfony. Второй раз сталкиваюсь с этой CMS и второй раз первоначальный разработчик был неопытен. Очень много проблем было с фронтом - подключались не существующие JS библиотеки, в самописных JS были опечатки. Из-за все этого часть заложенного функционала просто не работала. В целом не ясно как этот проект вообще сдавался заказчику. Только правка этих мелких ошибок решила половину ТЗ. Для остального же пришлось расширить класс формы анкеты и доработать обработчик формы. Критической правкой оказалось разбиение поля "№ группы" на два - отдельно год выпуска, отдельно номер. Данные из формы записываются в разные базы данных (частично дублируясь) - часть пишется в базу данных анкет, а часть в общую базу. Если анкеты были конечным элементом и было достаточно расширить БД новыми полями и описать поля и их валидаторы в классе формы, то основную базу трогать не хотелось. В ней создавались пользователи и для них частично сохранялись данные из анкеты - мало ли где эти данные еще используются (как минимум в админке для поиска по анкетам). Чтобы сохранить функционал, я перед сохранением формы я получил все поля формы из объекта, добавил в них нужное мне значение и заново сохранил в объекте. Такой подход может удивить, но с точки зрения ООП именно так и нужно работать. Хотя надо признать у меня и не было другого способа - поле класса с данными из формы приватно.