Smarty 是什么?
为什么使用此套件?
用例及工作流程
语法比较
模板继承
最佳实践
速成课程
此为基本安装的延伸,请先阅读该文件!
一个更灵活的安装 Smarty 的方式是扩展类并初始化您的 Smarty 环境。因此,无需反复设置目录路径,分配相同变量等操作,我们可以在一个地方执行这些操作。
让我们创建一个新目录 /php/includes/guestbook/
并创建一个名为 setup.php
的新文件。在我们的示例环境中, /php/includes
位于 include_path
中。确保您也进行设置,或使用绝对文件路径。
示例 2.10./php/includes/guestbook/setup.php
<?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 __construct() { // Class Constructor. // These automatically get set with each new instance. parent::__construct(); $this->setTemplateDir('/web/www.example.com/guestbook/templates/'); $this->setCompileDir('/web/www.example.com/guestbook/templates_c/'); $this->setConfigDir('/web/www.example.com/guestbook/configs/'); $this->setCacheDir('/web/www.example.com/guestbook/cache/'); $this->caching = Smarty::CACHING_LIFETIME_CURRENT; $this->assign('app_name', 'Guest Book'); } } ?>
现在,让我们更改 index.php
文件以使用 setup.php
示例 2.11./web/www.example.com/guestbook/htdocs/index.php
<?php require('guestbook/setup.php'); $smarty = new Smarty_GuestBook(); $smarty->assign('name','Ned'); $smarty->display('index.tpl'); ?>
现在,您会发现启动 Smarty 实例非常简单,只需使用 Smarty_GuestBook()
,便可自动为我们的应用程序初始化所有内容。