Smarty is a templating engine for PHP. It allows for easy separation of application logic and display code, as well as simplifying reuse of templates.
Overview
Smarty templating engine for PHP lets easily separate application logic and presentation, the first being in PHP code and the other generally, but not always, in HTML. That way a separation of PHP and HTML code is encouraged.
Currently two versions of Smarty are maintained smarty2 for legacy purposes that is compatible with PHP 7.2, and smarty3 that is compatible with PHP 7.3 and PHP 7.4.
As of April 13th 2020, current Smarty releases are 3.1.35 and 2.6.31
Example
PHP script (example.php
) :
require_once('../smarty/Smarty.class.php');
$se = new Smarty();
$se->assign('pi', 3.14159);
$se->assign(array(
'title' => 'Hello World !',
'today' => date('d/m/Y'),
));
$se->display('example.tpl');
Template (example.tpl
) :
<!DOCTYPE html>
<html>
<head>
<title>Smarty example</title>
</head>
<body>
<p>{$title}</p>
<p>Pi value : {$pi}</p>
<p>Today is : {$today}</p>
</body>
</html>