У вас документ формируется синхронно и вы хотите еще статус показывать, я правильно понял?
Такие вещи лучше на бэкграунд повесить. Тогда не будет проблем с сессиями. Таска выполняется в бэкграунде, и меняет редис, а вы с редиса на фронтенде показываете статус. Так будет красиво и правильно. И если вдруг вырастет время формирования документа - вам пофигу, потому что команда будет выполняться в бэкграунде и вы не вылетите по http request timeout.
Поставить error_handler PHP-шный. И проверять. Если это NOTICE и ошибка типо undefined variable - тогда делать что вам надо. Могу код набросать, если не понятно выразился.
Есть классная книга по symfony:
A Year With Symfony от Matthias Noback.
Также можно почитать доки по симфони. Вподряд читаете и изучаете с примерами.
Также могу посоветовать Паттерны от банды 4х.
Зачем так мудрить? Что мешает им работать в одной репе?
Бэкендер пишет своё, фронтендер пишет своё. Всё в одной репе...
Не пойму, зачем разделять? Это же цельный проект...
Думаю что всё же первое самое письмо на подтверждение ящика должно уйти вслепую. Ну а дальше уже рассылать только тем кто подтвердился через ссылку из письма...
Как-то натыкался на сервис, который для любой jquery-вской функции делает аналог на чистом js. Но это нужно было лишь для того, чтобы ради одной фичи jQ не использовать всю либу. А если у вас много заюзано из этой библиотеки, то тогда смысла нету.
На мой взгляд лучше не париться и использовать уже готовые. Я как-то загнался этим вопросом. Есть сайты которые бесплатно такие вилки показывают, погуглите. Смысл что-то изобретать заново?)