Смотри, есть типовые задачи, которые должен решать форматтер.
1. В приложении три группы роутов. В каждой группе данные должны выводиться в своем формате.
2. Автоматическое форматирования контента по заголовку или параметру риквеста.
3. Работа с сырыми данными. Допустим ты хочешь все обернуть в следующий формат {"status": "success", "data" : {"name" : "Vasya"}}
, при этом экшин контроллера у тебя возвращает массив ["name" => "Vasya"]
. Обернуть нужно во всех роутах группы.
4. На группу выставлен один формат, допустим xml, один роут из группы нужно вывести в json
Если сможешь как минимум решить эти кейсы, то можно будет рассмотреть твой вариант.
А общие рассуждения пока не интересуют, сделаешь - покажешь.