А ако искам да използвам json къде трябва да го рендирам? В другите "системи" имам един service.php (примерно), който ми връща като резултат json и аз после правя каквото си искам с данните, а при MVC-то?
При мен (CakePHP) съм го направил така:
Всеки контролер наследява базовия за фреймуърка AppController. В него (AppController) имам callback bеforeRender(), който се изпълнява преди предаването на данните към изгледа (view). Във въпросния callback проверявам, дали request-a идва от AJAX (XHR), ако е така данните се предават към един общ изглед (view), в който просто правя
echo json_encode($jsonData); //$jsonData е сетната в контролера
По този начин не ми се налага във всеки един контролер поотделно да проверявам дали да върна JSON или html - така или иначе всички ajax calls, които правя очакват да работят с JSON, както и няма нужда за всяко действие в контролера да имам отделен изглед, а ползвам един общ.