什么时候使用Smarty&MVC框架

I am doing a project , which was developed in smarty.
I have never used it before , but it looks good and clean also it have some shortcuts to do the things.
But I have always used MVC frameworks (codeignter) , it also carries its own templating system.Which also use php like smarty. So now I am confused between when to use Smarty & when MVC frameworks.

Smarty can be used as a part of View implementation of some MVC framework. So your question is about comparing apples and oranges

As you mentioned

it also carries its own templating system

so use smarty when you want to use it instead of the templating system shipped with a framework

I think you're question is less "When should I use Smarty over an MVC Framework?" and more "What's the difference?" So I'm going to answer based on that assumption

Smarty

Smarty is a PHP Template Engine, which means that is a php preprocessor that takes a custom format and translates it into PHP.

{$tags} == <?php echo $tags ?>

It also supports further template features such as template inheritance which allows the designer/developer to build templates that extend other templates.

This is roughly where Smarty ends.

MVC

MVC frameworks like CodeIgniter, CakePHP or Lithium PHP are PHP frameworks that incorporate the MVC architecture to allow the developer to write complex applications while separating coding concerns such as where to handle complex logic (Model), where to put UI (View) and where to handle the interaction between logic and the user (Controller). <= SUPER simple description.

These frameworks also tend to include helpful libraries and classes to allow developers to quickly develop and deploy their applications. These classes generally solve common coding requirements such as (but SOOOOO not limited to) easily integrating an SQL database and querying it, handling authentication and server side validation.

MVC Frameworks often offer their own form of templating but, as they tend to be Object Oriented frameworks, are fairly easy to extend with a separate Template Engine like Smarty.

Shameless plug

I actually recently wrote a plugin for Lithium PHP that extends the framework to support Smarty - li3_smarty

Final Answer

So you could technically use Smarty any time, whether you're using MVC or not.

If you're writing a complex application and require smarty then chances are someone out there has already written a module/plugin/component/helper to integrate Smarty into the MVC Framework you're looking into.

However, if you don't require all the power of a framework then just drop Smarty into your vanilla PHP project and you'll be good to go.

Hope this helped.