主要是libs里面的smarty类,和init.inc.php配置文件
 
剩下的是php文件夹、模板文件夹,临时文件夹、缓存文件夹、配置文件夹、插件文件夹
 
调用main文件夹中的php文件,通过libs文件夹中的smarty类调用注册(assign()方法),再调用显示模板的方法(display())
 
 
smarty变量语法:
注释语法: <{*  $a *}>
可以在模版中进行运算:<{$a+$b}>
可以忽略smarty解析:<{literal}>  #top{}  <{/literal}>
在模版中使用数组:
    类似与php    索引数组可以用下标:<{$shuzu[0]}>
                        关联数组用key值:<{$shuzu["one"]}>,还可以用. :<{$shuzu.two}>。。。
注册方法不止可以注册字符串,可以是任意类型,数组、对象等
$db = new DBDA();
$smarty->assign("duixiang",$db);
在模板中调用对象中的字段:<{$duixiang->host}>
 
介绍配置文件的使用:
配置文件的后缀是.conf:test.conf
内容是:
[one]                //分段,可以同名的key名
bgcolor=red
color=white
[two]
bgcolor=green
color=blue
引入配置文件
<{config_load file='test.conf' section="one"}>
使用需要  #key#
<div style="width:200px; height:200px; font-size:20px; font-weight:bold; {#bgcolor#}>; color:<{#color#}>">
第一个DIV
</div>
 
smarty保留字:
<{$smarty.const}>可以直接访问smarty常量:语法
<{$smarty.const.ROOT}>
定义常量在配置文件init中:语法
define("CSS_PATH",ROOT."css/");
 
 
if、foeach语句:
if语句中的判断符号因为smarty有分隔符的元婴,需要处理一下

if语句:if有结束标签

<{if $a lt 10 }>
11111111111111
<{elseif $a lt 20 }>
22222222222222
<{else}>
3333333
<{/if}>
 
foreach循环语句:
<{foreach $shuzu as $k=>$v}>
<div><{$v@index}>--<{$v@iteration}>--<{$v@first}>--<{$k}>--><{$v}></div>
<{/foreach}>
<{$v@index}>:当前数组的下标,从0开始
<{$v@iteration}>:当前数组的迭代,从1开始
<{$v@first}>:如果是第一个返回true
                            如果是最后一个返回true
 
 

smarty文件夹,第一个smarty实例总结的更多相关文章

  1. 在有道词典程序文件夹发现一个后缀名为sql的数据库(SQLite)

    缘起 在清理电脑磁盘的时候,看一看各安装文件夹有占用了多大容量,发现有道词典居然达140MB了,于是进去看看. 发现个有趣的文件:XXX.sql. 首先我们看一看它的安装文件夹的结构: Dict └─ ...

  2. eclipse创建一个文件夹

    如何给eclipse创建一个文件夹,便于项目的管理:有时我们的eclipse中会有很多项目的,有的是公司的如Project1,Project2,Project3....还有的呢, 也可能是自己平时做的 ...

  3. C# 将文件夹中文件复制到另一个文件夹

    p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...

  4. Python实践练习:将一个文件夹备份到一个 ZIP 文件

    题目 项目要求:假定你正在做一个项目,它的文件保存在 C:\AlsPythonBook 文件夹中.你担心工作会丢失, 所以希望为整个文件夹创建一个 ZIP 文件, 作为"快照" . ...

  5. flume监控一个linux指定的一个文件夹的文件信息

    1.编辑一个配置文件 flume-app.conf  拷贝至fulme的安装目录的conf下 # The configuration file needs to define the sources, ...

  6. python移动多个子文件中的文件到一个文件夹

    import os import os.path import shutil def listDir(dirTemp): if None == dirTemp: return global nameL ...

  7. MFC 中 删除一个非空文件夹

    MFC中提供了删除文件夹的一个封装函数 RemoveDirectory(LPCTSTR lpPathName),我们只要把要删除的文件夹的路径传进去就可以删除了,貌似一切如此简单.我象征性的建立一个文 ...

  8. C#文件和文件夹输入输出流代码

    1.建立一个文本文件 public class FileClass { public static void Main() { WriteToFile(); } static void WriteTo ...

  9. C# 添加,修改,删除文件夹/文件集合

    C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw ...

随机推荐

  1. PHP中单引号、双引号和转义字符

    在PHP语言总,单引号与双引号的作用不尽相同. PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name):最大的区别是:双引号会替换变量的值,而单引号会把它当做字符串 ...

  2. java之生成可重复执行的sql脚本

    在实际项目开发过程中,sql脚本需要多次执行.而一般的DML和DDL语句一般只能执行一次,再次执行执行时就会报错(操作对应已存在/不存在),所以必须将sql脚本生成可重复执行的.本文共分为4部分:1. ...

  3. lumen的自定义依赖注入

    比如我现在有个token认证系统,目前我用mysql的token表实现,将来有可能会改成redis,怎么实现未来的无缝连接呢. 先定义一个合约文件app/Contracts/TokenHandler. ...

  4. C#高级编程:泛型优点和特性

    泛型是CLR 2.0的一个新特性,在CLR 1.0中,要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就得以Object类为基础.而Object在编译期间没有类型安全性,因此必须进行 ...

  5. MySQL 数据库修改登录密码

    MySQL 数据库修改登录密码.. -------- mysql修改密码 默认的密码为空:mysql -u root -p第一次更改密码:mysqladmin -uroot -p password x ...

  6. JavaWeb王者归来学习笔记

    JavaWeb王者归来学习笔记... Ajax王者归来: Ajax:Asynchronous JavaScript And XML -------Ajax 是一些旧有技术的结合.但却以一种新的姿态.披 ...

  7. JavaScript面向对象(一)——JS OOP基础与JS 中This指向详解

      前  言 JRedu 学过程序语言的都知道,我们的程序语言进化是从"面向机器".到"面向过程".再到"面向对象"一步步的发展而来.类似于 ...

  8. 浅酌iOS 11兼容性

    WeTest导读 苹果在WWDC2017大会,公布了最新的iOS 11,系统新特性肯定是让不少果粉充满期待.在网上已能看到不少关于iOS 11的体验文章,那么iOS 11的新特性会对APP产生什么兼容 ...

  9. 没有基础如何学习web渗透测试?

    如果只是因为感兴趣玩玩的话,你可以不需要学习太多的脚本程序. 但是以下条件要具备 1.能看懂教程:能理解原理,例如解析漏洞,sql注入逻辑等 2.前端代码审计:html js css 3.主流工具的使 ...

  10. python进阶学习(一)

    同样是<python基础教程(第二版)>的内容,只是后面内容学起来,相比前面会比较有趣,也更加实用,所以,将"基础"改为"进阶". python 电 ...