Smarty 是什么?
为什么使用它?
用例和工作流程
语法比较
模板继承
最佳实践
短程强化课程
这是一个简单的指南,可以帮助您快速设置并运行 Smarty。在线文档中包含对 Smarty 安装的非常全面的解释。本指南旨在快速而简洁地实现 Smarty 的运行,仅此而已。本指南假定您熟悉 Linux 系统环境。Windows 用户需要在必要时调整文件权限,或找到合适的托管提供商。
将 Smarty 库文件复制到您的系统中。在我们的示例中,我们将它们放在/usr/local/lib/php/Smarty/中。如果您将 FTP/sFTP 用于服务器访问,请在本地解压缩 Smarty 文件,然后将它们上传到适当的目录中。
$> cd YOUR_DOWNLOAD_DIR $> gtar -zxvf Smarty-3.0.tar.gz $> mkdir /usr/local/lib/php/Smarty $> cp -r Smarty-3.0/libs/* /usr/local/lib/php/Smarty
现在,您应该看到以下文件结构
/usr/local/lib/php/Smarty/ debug.tpl plugins/ Smarty.class.php sysplugins/
您需要设置四个目录才能使 Smarty 运行。这些文件用于模板、已编译模板、缓存模板和配置文件。您可能或可能不会使用缓存或配置文件,但最好还是设置好它们。建议将它们放在 Web 服务器文档根目录之外。Web 服务器 PHP 用户还需要对缓存和编译目录具有写入访问权限。
在我们的示例中,文档根目录是 /web/www.example.com/docs,Web 服务器用户名是“nobody”。我们将把 Smarty 文件保存在/web/www.example.com/smarty/中。如果您使用的是 FTP/sFTP,FTP 软件应可以帮助您设置文件权限。775 表示用户/组 = 读/写,其他 = 读。
$> cd /web/www.example.com $> mkdir smarty $> mkdir smarty/templates $> mkdir smarty/templates_c $> mkdir smarty/cache $> mkdir smarty/configs $> chown nobody:nobody smarty/templates_c $> chown nobody:nobody smarty/cache $> chmod 775 smarty/templates_c $> chmod 775 smarty/cache
现在,我们在文档根目录中设置我们的应用程序
$> cd /web/www.example.com/docs $> mkdir myapp $> cd myapp $> vi index.php
编辑 index.php 文件使其看起来如下所示
<?php // put full path to Smarty.class.php require('/usr/local/lib/php/Smarty/Smarty.class.php'); $smarty = new Smarty(); $smarty->setTemplateDir('/web/www.example.com/smarty/templates'); $smarty->setCompileDir('/web/www.example.com/smarty/templates_c'); $smarty->setCacheDir('/web/www.example.com/smarty/cache'); $smarty->setConfigDir('/web/www.example.com/smarty/configs'); $smarty->assign('name', 'Ned'); $smarty->display('index.tpl'); ?>
$> nano /web/www.example.com/smarty/templates/index.tpl
使用以下内容编辑 index.tpl 文件
<html> <head> <title>Smarty</title> </head> <body> Hello, {$name}! </body> </html>
现在,通过 Web 浏览器进入您的新应用程序,例如 http://www.example.com/myapp/index.php。您应该在浏览器中看到文本“Ned 您好!”。
如果您有任何问题,您可能需要运行 Smarty 测试实用程序,以确保所有文件和文件夹都已到位并且具有正确的权限。
$smarty->testInstall();
一旦你开始操作,你可以继续学习Crash Course,了解更多的简单知识,或继续学习文档,了解所有内容。