利用Smarty的扩展设置(Extended Setup),通过扩展类和初始化Smarty环境,来安装Smarty。我们可以通过一种方法来取代重复设置目录路径、给相同的参数赋值。我在project目录下建立了include文件夹,并在其中建立
setup.php。(其实命名为smarty.lib.php更合适,它的目的是配置调用smarty库)
建立文件setup.php
<?php
// setup.php文件是个放置读取必需应用库文件的好地方
// 你可以像这样做,例如:
// require_once('project/include/setup.php');
class Smarty_w01f extends Smarty {
function Smarty_w01f()
{
// Class Constructor.
// 构造类,我用工作室给他命名:D
// These automatically get set with each new instance.
// 这些自动开始准备每一个实例
$this->Smarty();
$this->template_dir = './project/templates/';
$this->compile_dir = './project/templates_c/';
$this->config_dir = './project/configs/';
$this->cache_dir = './project/cache/';
// 如果你想修改Smarty的调用语法为{**},下面就可以
//$this->left_delimiter = '{*';
//$this->right_delimiter = '*}';
$this->caching = true;
}
}
?>
随之我要修改index.php
<?php
/*
file name:index.php
*/
define('SMARTY_DIR',str_replace("","/",getcwd()).'./libs/smarty/');
// 注意:Smarty有一个大写字母“S”
require_once(SMARTY_DIR . 'Smarty.class.php');
require_once('project/include/setup.php');
$smarty = new Smarty_w01f;
$smarty->assign('name','greengnn');
$smarty->display('index.tpl');
?>
分享到:
相关推荐
Smarty是一款广泛使用的PHP模板引擎,它将业务逻辑与视图设计分离,使代码更加清晰、易维护。在PHP中创建一个仿照Smarty的模板类,主要是为了实现类似的功能,即让程序员可以更专注于HTML结构的设计,而不必关心PHP...
在PHP代码中,需要实例化Smarty类并设置这些配置选项。 3. **模板基础** - **变量赋值**:在PHP中,可以通过`assign`函数将数据传递给模板。 - **模板语法**:Smarty使用特殊的语法,如`{$var}`表示输出变量,`{...
ThinkPHP5用的Smarty类,请参考我的博文,有详细用法,觉得博文写的还OK的请评论,谢谢!
2. **模板语言**:Smarty 拥有自己独特的模板语言,提供了一系列控制结构,如条件语句(if/else)、循环(foreach)以及包含({include})等,使得模板具备了较强的逻辑处理能力。 3. **变量和函数**:在Smarty 中...
"自己写的smarty小框架"显然是一种基于原版Smarty理念的简化或定制版本,旨在满足特定项目需求或者教学目的。下面,我们将详细讨论这个迷你Smarty框架可能包含的关键知识点。 1. **模板引擎的概念**:模板引擎允许...
### 二、分页类的使用 在`index.php`文件中,首先检查了URL参数`page`是否存在,如果存在则将其值赋给变量`$page`,否则默认设置为1。之后,创建了数据库操作类的实例`$mydb`,并调用了`getcount()`方法获取总记录...
10. **插件扩展**:Smarty允许开发人员创建自定义函数和类,以扩展其功能,满足特定项目需求。 在下载并安装Smarty最新版后,开发者需要按照官方文档或示例代码进行配置,然后在PHP代码中实例化Smarty对象,加载...
在PHP的世界里已经出现了各式各样的模板类,但就功能和速度来说Smarty还是一直处于领先地位,因为Smarty的功能相对强大,所以使用起来比其他一些模板类稍显复杂了一点。现在就用30分钟让您快速入门。 一. 安装 ...
在"smarty-webapp"这个压缩包中,应该包含了一整个整合了Spring MVC 4和Smarty 4J的Web应用程序的源代码结构,包括了Web应用的配置文件、Controller类、SMARTY模板文件等。通过查看和分析这些文件,你可以更好地理解...
10. **面向对象的API**:Smarty的设计完全符合面向对象的原则,提供了丰富的类和方法供开发者使用。 在安装和使用Smarty 3.1.33版本时,你需要先将其解压到服务器的适当目录,然后通过PHP的require_once语句引入...
开发者可以通过实现特定接口或继承特定类来创建自定义插件。 六、Smarty安全特性 Smarty提供了一些安全措施,如对输出进行转义防止XSS攻击,通过`$smarty->escape_html = true;`开启HTML转义。另外,还可以限制模板...
7. **渲染模板**:最后,使用`$smarty->display('template_file.tpl');`或`$smarty->fetch('template_file.tpl');`来渲染并输出模板。 在实际项目中,Smarty可以与其他PHP框架(如CodeIgniter、Laravel等)集成,...
在这个文件中,开发者通常会初始化Smarty类,设置模板目录,编译目录等参数,并加载模板文件,然后渲染并输出到浏览器。通过查看`demo1.php`的代码,我们可以学习如何配置和使用Smarty实例。 `smarty.txt`可能是一...
1. **易于使用**:尽管初学者可能会觉得Smarty有些难以理解,但实际上,掌握了基本的使用方法之后,就会发现它非常实用且易于操作。 2. **高效的缓存机制**:Smarty支持内置的缓存机制,这意味着对于已经编译好的...
### Smarty模板使用详解 #### 一、Smarty简介与安装配置 **Smarty** 是一个用于 PHP 的强大而灵活的模板引擎。它将 PHP 代码与 HTML 分离,使得开发者能够更轻松地维护和管理代码,同时也方便了前端人员进行页面...
在这里,你可以看到如何实例化Smarty类,分配模板变量,并渲染模板。 2. **cache** - 缓存目录是Smarty用来存储编译后的模板和缓存结果的地方。启用缓存可以显著提高网站的响应速度,因为已编译的模板和数据可以...
- **自定义插件开发**:可以通过编写自定义插件来扩展Smarty的功能,这些插件可以是一些自定义函数或类。 - **安全性增强**:为了防止用户直接访问模板文件,可以通过修改服务器配置文件(如Apache的`httpd.conf`)...
1. `libs/`:Smarty的核心库,包含核心类和函数。 2. `plugins/`:插件目录,存放自定义函数和过滤器。 3. `templates/`:示例模板文件,展示了如何编写Smarty模板。 4. `configs/`:配置文件,用于设置Smarty的行为...
在最新版中,Smarty可能进一步强化了面向对象的特性,支持类和对象的直接使用,使其更符合现代PHP开发习惯。 9. **性能优化** 新版本可能对模板编译过程进行了优化,减少内存占用,提高处理速度。同时,可能引入...