Smarty中类的继承
By admin
- One minute read - 211 wordsExtended Setup This is a continuation of the basic installation, please read that first! A slightly more flexible way to setup Smarty is to extend the class and initialize your Smarty environment. So instead of re- peatedly setting directory paths, assigning the same vars, etc., we can do that in one place. Lets create a new directory / php/includes/guestbook/ and make a new file called setup.php. In our example environment, /php/includes is in our include_path. Be sure you set this up too, or use absolute file paths.
**Example 2.10. Editing /php/includes/guestbook/setup.php **
// load Smarty library
require(‘Smarty.class.php’);
// The setup.php file is a good place to load
// required application library files, and you
// can do that right here. An example:
// require(‘guestbook/guestbook.lib.php’);
class Smarty_GuestBook extends Smarty {
function Smarty_GuestBook()
{
// Class Constructor.
// These automatically get set with each new instance.
$this->Smarty();
$this->template_dir = ‘/web/www.example.com/smarty/guestbook/templates/’;
$this->compile_dir = ‘/web/www.example.com/smarty/guestbook/templates_c/’;
$this->config_dir = ‘/web/www.example.com/smarty/guestbook/configs/’;
$this->cache_dir = ‘/web/www.example.com/smarty/guestbook/cache/’;
$this->caching = true;
$this->assign(‘app_name’, ‘Guest Book’);
}
}
?>
Now lets alter the index.php file to use setup.php: Example 2.11. Editing /web/www.example.com/docs/guestbook/index.php
require(‘guestbook/setup.php’);
$smarty = new Smarty_GuestBook();
$smarty->assign(‘name’,’Ned’);
$smarty->display(‘index.tpl’);
?>
Now you see it is quite simple to bring up an instance of Smarty, just use Smarty_GuestBook() which automatically ini-tializes everything for our application.