I like the way Smarty works but I would like to recycle my code better for other projects. Is there a way to use it more like 'modules'? For example I have to create a project with a login I can easy use my login function from an other project? Because the core code is always the same.

What is the best way/workflow to organise this?
Is using a MVC structure interesting? And if so, what is the best way to implement it?