Во 2 способе плохо то, что если вам эти данные нужно будет отправить ещё куда нибудь, то придётся переделывать весь рендер. Первый способ универсален. Получили данные и делайте уже что хотите с ними.
Разница в том, что за лапшу из 200-300 строк без методов, вас побьют. Ибо читать это невозможно. И, возможно, нарушит кучу принципов проектирования. В вашем случае без методов допустимо сделать.