Сложнее вариант с функцией, однако позже, когда придется менять отдельные куски кода/оформления, вариант с прямым выводом может сыграть злую шутку. Даже в этом примере я бы с функцией вариант использовал
Разумно. Это называется хэлпер шаблона. Если, например, html нужно генерировать на основе рекурсии или циклом, то лучшее решение - сделать класс-хэлпер, может даже со статическим методом, и поместить туда эти манипуляции. Только почитай про шаблоны, не надо писать так, как ты пишешь.