Я думаю, что ваш вопрос менее "Когда я должен использовать Smarty поверх MVC Framework?" и еще "Какая разница?" Поэтому я собираюсь ответить на основании этого предположения
Smarty
Smarty - это PHP Template Engine, что означает, что это препроцессор php, который принимает пользовательский формат и переводит его в PHP.
{$ tags} == <? Php echo $ tags?>
Он также поддерживает дополнительные функции шаблонов, такие как наследование шаблонов, что позволяет дизайнеру / разработчику создавать шаблоны, расширяющие другие шаблоны.
Это примерно то, где заканчивается Smarty.
MVC
MVC-фреймворки, такие как CodeIgniter , CakePHP или Lithium PHP - это фреймворки PHP, которые включают архитектуру MVC, позволяющую разработчику писать сложные приложения, разделяя проблемы кодирования например, где обрабатывать сложную логику (модель), где размещать пользовательский интерфейс (представление) и где обрабатывать взаимодействие между логикой и пользователем (контроллером). <= <em>СУПЕР простое описание.
Эти инфраструктуры также имеют тенденцию включать полезные библиотеки и классы, позволяющие разработчикам быстро разрабатывать и развертывать свои приложения. Эти классы обычно решают общие требования кодирования, такие как (но не ограничиваясь этим) простота интеграции базы данных SQL и запросов к ней, обработка аутентификации и проверка на стороне сервера.
Фреймворки MVC часто предлагают свои собственные формы шаблонов, но, поскольку они, как правило, являются объектно-ориентированными фреймворками, их довольно легко расширить с помощью отдельного механизма шаблонов, такого как Smarty.
Бесстыдная заглушка
Я недавно написал плагин для Lithium PHP , расширяющий фреймворк для поддержки Smarty - li3_smarty
Окончательный ответ
Таким образом, вы можете использовать Smarty в любое время, независимо от того, используете вы MVC или нет.
Если вы пишете сложное приложение и вам требуется smarty, то есть вероятность, что кто-то уже написал модуль / плагин / компонент / помощник для интеграции Smarty в среду MVC, которую вы просматриваете.
Однако, если вам не требуется вся мощь фреймворка, просто добавьте Smarty в свой оригинальный PHP-проект, и все будет в порядке.
Надеюсь, это помогло.