Mešanje PHPa i HTMLa

Svi dobro znamo da ne treba mešati PHP i HTML. Većina to i ne smatra normalnim PHP programiranjem. Ja imam velikih problema kad moram da mešam PHP i HTML, što je jako retko. Međutim, ima situacija:

  • Logika je suviše kompleksna da bi se lako odradila sa templateima. Tipa pageri... Mogu biti toliko složeni da je potreban blok od desetak redova koda da bi se prikazao kako hoćemo. A neki od složenijih primera gotovo da je i nemoguće uraditi pomoću templatea (a pritom biti zdravorazumno biće).
  • Potrebne su međuvrednosti da bi se nešto odradilo – ovo varira od slučaja do slučaja, ali činenica je da template engine retko kad podržavaju kreiranje promenljivih unutar samih templatea, a da se ne koristi neki workaround (tipa inserti u Smartyju sa globalnim ili statičkim promenljivima). Ispravite me ako grešim...
  • Rekurzije – koliko je meni poznato, sa čistim Smartyjem ih je nemoguće uraditi, za druge template ne znam, ali činjenica je da je rekrzijama uglavnom mesto u kodu koji može sa njima da izađe na kraj (u našem slučaju PHP).

Da li vi imate još neke primere u kojima je mešanje PHPa i HTMLa poželjno, često i nužno? Kako izlazite na kraj sa gore navedenim slučajevima?