If you're making a template language for use in a SaaS system, you'd want to perhaps allow echo, but not file_put_contents.
1: http://www.smarty.net/ 2: https://en.wikipedia.org/wiki/Inner-platform_effect
I have one reason for not using Smarty in my more recent work but it has nothing to do with my feelings about Smarty itself. Rather just that a lot of web apps lately have all of the view logic in the client. So the server rendering of the view is often just outputting mostly static HTML for the Javascript to use as it's starting point. So it's not that I dislike Smarty, it's just that there's barely any logic at all happening at that level so there's no need for it.
But, you can make just as readable code without smarty and load times are much faster (although smarty does have a caching system).
And caching..on disk, who cares? In general, dO we not have better, faster and more versitile options that would in any way justify a choice for smarty?
Disclaimer: I've never had to use this, so don't know what the limitations and pitfalls are for this, and there may be security concerns that I'm unaware of.
[1] http://www.php.net/manual/en/ini.core.php#ini.disable-functi...