created by fuguoyu 2019.10.21

一、项目搭建区域

1、引入和实例化Smarty
    // smarty的引入和配置化require ('./Smarty/Smarty.class.php');$smarty = new Smarty();
2、五配置两方法
    //五配置 两方法$smarty->left_delimiter = "{";  //左定界符$smarty->right_delimiter = "}"; //右定界符$smarty->template_dir = "tpl";  //html模板地址$smarty->compile_dir = "template_c"; //模板编译生成的文件$smarty->cache_dir = "cache"; //缓存//下面是开启缓存的另外2个配置$smarty->caching = true; //开始缓存$smarty->cache_lifetime = 120; // 缓存时间
3、分配变量与页面显示
    $smarty->assign("articletitle", "qwertt");  //页面显示$smarty->display("test.tpl");

二:语法区域

1、注释与变量输出
1.注释{*  XXX *}2.在smarty中输出赋值进来的变量
2、变量调节器
1、首字母大写 capitalize
eg:{$articleTitle| capitalize}2、字符串连接cat,通过:可以进行无限连接
eg:{$articleTitle|cat:" yesterday"}3、日期格式化 date_format
eg:  {$yesterday|date_format}{$yesterday|date_format:"%A, %B, %e, %Y, %H:%M:%S"}4、为未赋值或者为空的变量制定默认值default——"%Y/%m/%d %H:%M:%S %B %e"
eg:{$articleTitle|default:"no title"} //变量为空的时候,输出 no title5、转码 escape
eg: 用于html的转码,url转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者javascript转码,默认是html转码
{url|escape:"url"}6、小写lower大写upper
eg:将变量字符串小(大)写
{$articleTitle|lower}  {$articleTitle|upper}7、所有的换行符被替换成<br /> nl2br功能和PHP中的nl2br()函数一样
eg:{$articleTitle|nl2br}
3、条件判断
1、基本句式
{if $ifkey eq "guoguo"}guoguo
{elseif $ifkey eq "haha"}haha
{else}hehe
{/if}2、条件修饰符很多
eg:eq(==)  neq(!=)  gt(>)  gte(>=)  lt(<)  lte(<=)3、修饰词时必须和变量或者常量用空格隔开
4、循环
1、section, sectionelse(1)功能多,参数多,但是个人感觉并不实用,是smarty用来做循环操作的函数之一(2)基本属性1)name 循环数组的每一项2)loop 循环的数组3)start 循环执行的初始位置,如果为负数,则循环从数组的尾部算起4)step 决定循环的步长,如果为负数,遍历数组从否像前进行遍历5)max 设置循环的最大执行次数6)show 决定是否显示该循环(3)code{section name=list loop=$list max=1}{$list[list].title}<br />{/section}2、foreach【推荐使用】
只能处理简单的数组
code:
{foreach $list as $item}{$item.author}{foreachelse}当前没有文章
{/foreach}
5、模板的引用(引入文件或者子组件)
1、include用法和php钟的include差不多
2、smarty的include还具备自定义的属性的功能【属性传值】
eg:{include file="header.tpl" title="网站头部" table_bgcolor="#e6e6e6" sitename="果果网"}
6、类与对象赋值与使用
1、smarty中的register_object方法,在smarty3中已经废除
2、使用assign把一个类中的对象以变量的形式赋值到smarty的模板中使用
7、内置函数与自定义函数
1、可以使用php的内置函数{* date("Y-m-d", $time) *}{'Y-m-d'|date: $time}<br />{* str_replace("q", "Q", $articletitle) *}{"q"|str_replace:"Q": $articletitle}2、可以是自定义函数,并用registerPlugin注册到smarty模板中使用
第一个参数可以是function,modifier,block等,下面以函数为例1)定义函数function test($param) {$p1 = $param['p1'];$p2 = $param['p2'];return "传入的参数p1=".$p1."传入的参数p2=".$p2;}$smarty->registerPlugin("function", "f_test", "test"); //第一个是注册的类型,注册的函数名,原函数名2)调用函数 {函数名 参数1=XXX 参数2=XXX}{* 调用f_test函数,属性会整合为参数数组即array("p1"=>"guoguo","p2"=>"最帅"...) *}{f_test p1="guoguo" p2="最帅"} 
8、插件学习
1、什么是smarty的插件?Smarty的插件本质上是funcion函数
2、Smarty插件常用的类型(1)functions 函数插件(2)modifiers 修饰插件(3)block functions 区块函数插件
3、如何来制作、使用插件(1)使用registerPlugin方法注册写好的自定义函数(2)将写好的插件放入Smarty解压目录中的lib目录下的plugin目录里【注意插件命名格式】(3)php的内置函数,可以自动以修饰插件(变量调节器插件)的形式在模板里使用

本文系列代码,github地址,欢迎star!
参考慕课网课程:https://www.imooc.com/learn/69

原创不易,自由转载,保留出处!!!

PHP之Smarty模板学习相关推荐

  1. Smarty模板技术学习(二)

    本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...

  2. Smarty模板技术学习

    模板引擎技术:使得php代码和html代码分离的技术就称为"模板引擎技术" 自定义smarty模板技术实现 <?php//迷你smarty原理 class MiniSmart ...

  3. smarty模板 入门学习 (share)

    1.安装Smarty3.0 一.什么是smarty? smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲, 目的就是要使用PHP程序员同美工分离,使用的程序 ...

  4. 变量模板smarty模板 入门学习

    近期个人几篇文章介绍了改变量模板的文章. 关联文章的地址 1.安装Smarty3.0 每日一道理 "多难兴才"曾一度被人定为规律.请看:屈原被放逐而作<离骚>:司马迁受 ...

  5. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

  6. Smarty 入手学习教程

    为什么80%的码农都做不了架构师?>>>    Smarty 入手学习教程 什么是模版引擎    不知道从什么时候开始,有人开始对 HTML 内嵌入 Server Script 觉得 ...

  7. smarty模板引擎

    今天学习一下Smarty模板引擎,做了一个小demo 1.引用官方的Smarty文件,官方网站:http://www.smarty.net/   文件:下面链接地址有提供 2.配置相关Smarty信息 ...

  8. cms概述 。比较shopex和ecshop区别 。smarty模板引擎的入门

    cms概述 为了找到一个合适的cms网站系统,我花了一番功夫搜索了多种cms,包括我用过的和没用过的,知道的和不知道的,当然,必须是开源的.免费的.生成静态页面的.到各自的官方网站,查看了有关资料,下 ...

  9. php中smarty模板的优点,php的smarty模板引擎有哪些特点

    php的smarty模板引擎有哪些特点2020-06-30 16:46:07 php的smarty模板引擎的特点有:1.运行速度快:2.不需要多余的模板语法解析:3.仅对修改过的模板文件进行重新编译: ...

  10. php smarty变量调节器,Smarty模板变量与调节器实例详解

    本文实例讲述了Smarty模板变量与调节器.分享给大家供大家参考,具体如下: Smarty中assign说明 可能有人在学习smarty的时候已经学习了一些php框架,如tp.laravel.Yii等 ...

最新文章

  1. [导入]实时数据库的经典书
  2. python求最值_用Python实现最速下降法求极值的方法
  3. 社会计算研究组研究方向
  4. Flask abort
  5. C/C++语言链表的排序与查找定位
  6. HTML5 API详解(14):Notification 实现桌面提醒
  7. SpringBoot开源项目(企业信息化基础平台)
  8. CentOS 6.5静态IP的设置(NAT和桥接联网方式都适用)
  9. 分布式服务架构:原理、设计与实践
  10. 第1章 信息系统综合知识
  11. 移动信息中心号码,移动短信中心号码速查
  12. 轻松查询多个中通速递发出物流中含有某个城市的单号
  13. 怎样把PDF翻译成中文
  14. Unity鼠标左键控制物体
  15. Android Studio搭建阿里云生活物联网平台自有品牌APP
  16. MindManager 思维导图全面介绍
  17. 【OS】Linux环境下配置固定IP地址--静态IP地址(不能上外网问题)
  18. MySQL 6:MySQL存储过程、存储函数
  19. 【学习小记】狄利克雷卷积+杜教筛
  20. 邻域闭包matlab,拓扑空间、开集、闭集、闭包、聚点、邻域

热门文章

  1. Linux嵌入式时区修改
  2. 使用rsyslog+loganalzey收集日志显示客户端ip
  3. Spring中的Service/DAO/DTO
  4. thinkPHP 表单自动验证功能
  5. Power Query Advanced Editor键盘快捷键
  6. flask开发restful api系列(7)-蓝图与项目结构
  7. ServletContextListener作用(转)
  8. 关于工作[update]
  9. 【基础知识】.Net基础加强 第四天
  10. HDU 1022 Train Problem I