I wrote an entire application using SMARTY and it wasn't all that hard to pick up. I just read the important bits from the main smarty website at smarty.php.net. The quick install page will get you started with the basics. After that there is a sample application that they build which covers the middle ground.
After that I just stuck to the documentation index.
hmm... problem must be on my side. coz i dont understand, why we need to use it ?! considering the smarty has a subdomain on php.net.
i gave it another chance.
trying to improve anything (!) with it.
but stucked. i ll go on my way :)
well... you don't actually need to use it, but it's considered good practice. Smarty is simply a template system with years of development and lots of fans (i don't personally use smarty but other stuff that does something like that). but that's why it has a subdomain in the php.net and why almos everybody knows it. you should give it a try. make a site using smarty and someday when you need to change the looks of the site for example, you'll be glad you used it.
or something like that.
Apart from smarty:
Savant 2
PHP-TAL
XTemplate
php
...among other things just google "php templating engine"
Design Patterns:
singleton
factory
decorator
strategy
iterator
observer
chain of command
...among other things just google "php design patterns"
EDIT: oh old old old. lol o. lol.