Ранее у меня был такой же аргумент с моими коллегами, и я не согласен с использованием методов внутри шаблона.Это делает шаблоны непрозрачными, нет четкого знания о том, что доступно внутри шаблона - вы должны знать объекты, с которыми имеете дело, и дизайнеры, и разработчики, которые присоединяются позже, не должны беспокоиться об этом, они должны видеть, что происходит в контроллере.и это все.Не говоря уже о том, что вызовы методов из шаблона могут изменить данные, которые уже были переданы внутри ... И хотя я знаю, что в некоторых случаях вполне нормально, чтобы шаблон имел изменения в цикле или что-то в этом роде, я склонен считать, что шаблон более статичентогда оставшаяся часть итерации по массиву не изменит никакого другого массива.Но я не так уверен с объектами.
Это также добавляет дополнительную зависимость для рефакторинга.
И это также добавляет сложности и соблазну для разработчиков, чтобы начать вызывать SQL или выполнять тяжелую логику внутри шаблона.
Возможно, я также мог бы отметить, что простые движки шаблонов имеют тенденцию быть простым текстом-replacers.И методы для них не вариант.