smarty教程系列2--section1

简介:
第二课 smarty基本语法(1)
好了有了上一节课的安装,这节课我们看看smarty的基本语法
我们知道smarty是为了把php和美工制作的模板部分尽量做到分离,这样程序做程序时可以不必等到美工的页面出来之后在做前台这部分程序,
smarty起到了一个中间桥梁的作用,这样需要我们的程序员和美工都要了解smarty的语法,好了我们先看看模板设计者部分(也就是美工这一部分),
我们简单看一个模板test.tpl:

<html>
<head><title><{$title}></title></head>
<body>
我的名字是<{$name}>,我来自<{$city}>.
</body>
</html>


test.php关键部分部分:

$title= "学习smarty基本语法部分";
$name= "xcf007";
$city= "威海";

$tpl->assign( "title",$title);
$tpl->assign( "name",$name);
$tpl->assign( "city",$city);


这里就是简单把数据赋给模板变量.


smarty是编译模板,也就是说它首先根据模板去生成一个php文件,我们运行后会发现在template_c目录生成一个类似
%%45^45E^45E480CD%%test.tpl.php这样名字的文件,这就是smarty根据模板编译生成的一个文件。

其实它就是扫描一下tpl文件,定界符外的直接输出到那个php临时文件里,而定界符内的部分,它会处理
比如 我的名字是<{$name}>,我来自<{$city}>.他就会把<{$name}>替换成<?php echo $name;?>类似这个样子,当然实际中他是$this->_tpl_vars['Name'];我们为了简单起见。


很多php程序员不用smarty时,有的就用include方式。
比如

test.php:

$title= "学习smarty基本语法部分";
$name= "xcf007";
$city= "威海";

include 'index.tpl';

而index.tpl变成了:

<html>
<head><title><?php echo $title;?></title></head>
<body>
我的名字是<?php echo $name;?>,我来自<?php echo $city;?>.
</body>
</html>

好了,这个include方式,大家做小东西不妨试试。

了解smarty的机制,看看语法:
1.smarty注释
看看模板任意如何做注释,因为可能有时候做模板时需要对模板变量做一下注释,
注意不是html注释,那个会出现在将来静态页面源代码中,我们这个是对模板注解的,只想出现在模板文件里。
好了是 定界符带个星号,如<{* 这里是模板注释 *}>

这个注释模板编译时会忽略,不会出现在那个临时的php文件里面。

待续...






 本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/156835 ,如需转载请自行联系原作者

相关文章
|
存储 机器学习/深度学习 编解码
app版本更新的五种实现方式
app版本更新的五种实现方式
1108 2
|
11月前
|
存储 算法 Java
聊聊jvm的内存结构, 以及各种结构的作用
【10月更文挑战第27天】JVM(Java虚拟机)的内存结构主要包括程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区和运行时常量池。各部分协同工作,为Java程序提供高效稳定的内存管理和运行环境,确保程序的正常执行、数据存储和资源利用。
323 10
|
10月前
|
数据采集 存储 数据库
Python中实现简单爬虫的入门指南
【10月更文挑战第22天】本文将带你进入Python爬虫的世界,从基础概念到实战操作,一步步指导你如何使用Python编写一个简单的网络爬虫。我们将不展示代码示例,而是通过详细的步骤描述和逻辑讲解,帮助你理解爬虫的工作原理和开发过程。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往数据收集新世界的大门。
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的网上商城系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的网上商城系统附带文章源码部署视频讲解等
154 1
|
存储 Java 关系型数据库
亚马逊 EC2 服务器搭建 Linux 系统宝塔环境
亚马逊 EC2 服务器搭建 Linux 系统宝塔环境
|
Dart JavaScript 前端开发
一个写了3年半flutter的小伙,突然写了2个月uniapp的感悟!
因为某些原因,在过去的三年半时间,我除了flutter之外,很少接触其他的框架,而最近突然写了2个月uniapp,有了些想法...
|
存储 机器学习/深度学习 SQL
|
存储 人工智能 运维
黄秉豪:让科技赋能成为华发集团第二增长曲线 | 阿里CIO学院名人堂
面向未来,华发集团的数字化转型势在必行,流程数字化、服务数字化,资产数字化正在加速推进,基于数字化的多元业务有望成为企业的第二增长曲线。
黄秉豪:让科技赋能成为华发集团第二增长曲线  | 阿里CIO学院名人堂
|
域名解析 存储 网络协议
阿里云解析是什么?有什么用?
阿里云解析是阿里云为全网域名开放的域名智能解析服务,是一种安全、快速、稳定、可靠的权威DNS解析管理服务。云解析DNS为企业和开发者将易于管理识别的域名转换为计算机用于互连通信的数字IP地址,从而将用户的访问路由到相应的网站或应用服务器。
2608 0
阿里云解析是什么?有什么用?
|
缓存 算法 安全
Linux系统“时间”简介
Linux系统提供了很多关于time的处理API,这些API各自的功能和使用场景都有所不同。对于初学者有时会混淆它们,对于API的具体含义理解不到位。本文总结各类time相关的API的使用方式。 分类的标准按照函数的具体功能进行划分。
605 0