Smarty总结

2024-04-04 15:48
文章标签 总结 smarty

本文主要是介绍Smarty总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Smarty模板技术

一.    Smarty的优点,作用。

实现了前台页面和后台逻辑的分离。在比较大的项目中,将php程序员和美工设计人员分离。

二.    Smarty相关知识点:

1.     如何使用Smarty模板,使用模板的步骤

1)      安装smarty(将smarty安装包中的libs文件夹拷贝到服务器目录下即可)

2)      引入smarty.class.php,创建smarty对象。(初始化)

3)      更改相关的配置(模板、模板的编译文件、配置文件及缓存的路径,以及界定符)(将相应的模板放入指定文件夹)

4)      是否开启缓存,及缓存生存时间的设置。

5)      为模板变量分配值(常量,变量,数组以及对象)

6)      显示模板。

 

2.     创建smarty模板

模板本质是html静态页面,包含html的所有实体及smarty本身的对象。(变量,变量修改器(capitalize|default…),内建函数(if  foreachsection insert…))

一.变量:

(1).输出php分配的变量(php文件通过assign方法给模板分配变量)注意:smarty中的变量只能输出不能赋值。

l      普通变量:直接用变量名输出

(例:$smarty->assign("title",$title); <title><{$title}></title>)

l      数组变量:

n      索引数组:<{$array[index] }>

n      关联数组:<{$array.key}>

n       混合数组:<{$array.key[index] }>、<{$array[index].key}>

l      对象变量:<{$stu->attribute(function)}>

(2).从配置文件得到相应的变量

首先将配置文件写到相应的文件夹(configs文件夹)

l      配置文件(本质就是记事本文件(*.conf))的写法:

#注释

#全局变量

变量名 = 变量值(非字符类直接写、字符类的加’…’或”…”、大段字符包括段落标记等”””…..”””)

Name = ‘张三’

Age =19

#局部变量

[局部名称]//声明局部变量的作用域

变量名 = 变量值(非字符类直接写、字符类的加’…’或”…”、大段字符包括段落标记等”””…..”””)

Name = ’李四’

注意:局部变量的变量名一般会包含在全局变量中,如果引用时加上的作用域,那么局部变量中的同名变量将替换全局变量中的同名变量。如果引用了作用域,而引用的变量在域中没有定义(如age),那么这个变量则饮用全局变量中的响应内容。

 

l      在模板中引入配置文件(config_load file=’config.conf’ section=域),在模板中配置文件中的变量读取:#变量名#   | $smarty.config.变量名

 

(3).不用分配直接输出(smarty的保留变量)

$smarty.typename.variable_name

$smarty.get.var=== $_GET[var]

$smarty.post.var   $smarty.cookie.var   $smarty.session.var

$smarty.server.var 

$smarty.section.sectionname.var

$smarty.foreach.foreachname.var

三.    内建函数(if /foreach/section/insert/include/config_load)

//根据不同的选择值制作出不同的显示内容(页面排版)

{if 条件} 语句 {elseif 条件} 语句2 {else} 语句3 {/if}

//遍历数组

{foreach name=循环名称 from=数据源(数组名)item=当前数组的值($value) key=键值}

$value

{/foreach}

{section name=循环的名称 loop=数据源}//只能遍历索引数组

{$array[循环名称]}

{$smarty.section.sectionname.index}—当前访问的数组变量的索引值

{$smarty.section.sectionname.total}---遍历共进行的多少次循环

{/section}

 

{include file=“模板的名称“}//将已有的模板包含进来

//网页中包含固定的头或尾的时候,可以讲一个模板分割开。相当于将一个完整的html进行分割,组合之后必须符合html的语法

头(include file=head.tpl)

 
<html>

<head>

      <title></title>

</head>

<body>

    
  

可编辑部分

 
 
 
 

 

 


尾include file=foot.tpl

 
</body>

</html>


 


这篇关于Smarty总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876198

相关文章

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的