0810 smarty
1.Smarty简介(why,what)
why:
smarrty 将前端工程师和程序员的工作分开,让前端工程师完成前台页面的工作,程序员完成后台的业务逻辑。
what
模版引擎是用来将PHP代码和模版页组合成PHP 混合页的PHP类
2.smarty版本
smarty-2.6.26.zip
smarty-stable-3.1.8.zip
internals
plugins 插件
config_file.class.php 配置文件
debug.tpl 调试类
smarty.class.php smarty类
smarty_compiler.class.php 编译类
3.快速入门
步骤:
创建2个目录:templates,模板目录;templates_c编译后的目录
实例化类,开始初始化(3行)
4.smarty执行步骤详解
①浏览器访问PHP程序
②PHP将模版引擎加载进来
③模版引擎将PHP中变量加载到引擎类
④模版引擎将美工模板文件(TPL)加载到引擎类
⑤模版引擎合成编译后的模版文件
⑥将合成好的模版文件导入回PHP程序
⑦由PHP文件输出最终效果
注意:
①判断如果存在编译后的文件(com)则不加载引擎而直接输出编译后的文件(com)
②判断TPL模版文件有没有被修改过,如果没有修改则直接输出,如果修改过则从步骤②开始执行编译
5.smarty详细初始化配置
<?php
//引入smarty类
include('libs/Smarty.class.php');
//初始化
$smarty = new Smarty();
$smarty->assign('aa','aaaaaaaaaaa'); //指定模板的目录
$smarty->template_dir = 'tpl';
//指定编译的目录
$smarty->compile_dir = 'com'; //定义坐标的{
$smarty->left_delimiter = '<{';
$smarty->right_delimiter = '}>'; //缓存
$smarty->caching = ;
//1是开启,0是关闭 $smarty->cache_dir = 'caches';
$smarty->cache_lifetime = ; //插件
$smarty->plugins_dir = 'plugins'; //配置文件
$smarty->config_dir = 'configs'; //配置文件
$smarty->debugging = true; //加载模板页
$smarty->display('index.html');
?>
6.smarty语法&控制流
7.模版中显示数据
直接显示
<legend>直接访问数组</legend>
显示索引数组:
{$arr_1[0]}
<br />
显示关联数组:
{$arr_2.aa}
<br />
显示二维数组
{$arr_3[2].cc}
foreach
{foreach from=$arr_4 item=val}
{foreach rom=$val item=v}
{$v}
{/foreach}<br />
{/foreach}
foreach($arr_4 as $val){
foreach($val as $v){
echo $v;
}
}
section
{section loop = $arr_4 name=aso}
<tr>
<td>{$arr_4[aso].name}</td>
<td>{$arr_4[aso].sex}</td>
<td>{$arr_4[aso].power}</td>
<td>{$arr_4[aso].skill}</td>
</tr>
{/section}
$arr_4 数组直接放到$arr[aso]
8.smarty&js整合
9.smarty&mysql整合
$db = new PDO('mysql:host=localhost;dbname=news;charset=UTF-8', 'root', '12345');
声明数据库类型 数据库地址/名称 数据库里的具体库名 用户名 密码
$db->query();vs db->exec();区别
//query返回有结果集的,没有结果集的用
$db->fetchAll(); //所以记录
$db->fetch();//单行记录
$db->rowCount();//有几条记录
$db->lastInsertId();//最后一条插入的id
匈牙利命名法:fetch_all()
驼峰命名法: fetchAll
10.smarty&MVC整合
0810 smarty的更多相关文章
- Smarty的基本使用与总结
含义: Smarty是PHP的一个引擎模板,可以更好的进行逻辑与显示的分离,即我们常说的MVC,这个引擎的作用就是将C分离出来. 环境需求:PHP5.2或者更高版本 我使用的环境是:PHP5.3,wi ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- smarty使用
smarty-牛刀小试 smarty 初识 官网 http://www.smarty.net/ Smarty is a template engine for PHP(PHP模板引擎) smarty使 ...
- Smarty模版引擎的原理
Smarty是一个使用php写出来的模版引擎,用来将原本与html代码混杂在一起PHP代码逻辑分离,实现前后端分离. Smarty模板优点: 1. 速度:采用Smarty编写的程序可以获得最大速度的提 ...
- 12月15日下午Smarty模板函数
1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...
- 12月15日smarty模板基本语法
smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...
- 12月13日上午Smarty模版原理
模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.html <!DOCTYP ...
- SMARTY模板中如何使用get,post,request,cookies,session,server变量
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...
- 在新浪云SAE中使用smarty引擎模版
在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unab ...
随机推荐
- hihoCoder 1261 String Problem II
时间限制:50000ms 单点时限:5000ms 内存限制:512MB 描写叙述 我们有一个字符串集合S,当中有N个两两不同的字符串.还有M个询问,每一个询问都会先给出一个字符串w,你须要回答下面三个 ...
- [Functional Programming] Write simple Semigroups type
An introduction to concatting items via the formal Semi-group interface. Semi-groups are simply a ty ...
- LeetCode Linked List Cycle 解答程序
Linked List Cycle Given a linked list, determine if it has a cycle in it. Follow up: Can you solve i ...
- 软件调试工具——GDB
1.GDB调试器概述 GDB是GNU开源组织发布的一个强大的程序调试工具,具有查看程序运行状态.设置断点.查看表达式.显示变量等众多功能,是程序员进行Linux编程必须要掌握的一种调试技术. GDB调 ...
- css3和html5的学习
本文是此链接的源代码.http://www.imooc.com/learn/77 关于的html5的使用: transition----含义是:过渡的过程,能够对各种属性设置变化. 有5中过渡的形式: ...
- Commons FileUpLoad 两种上传方式解
traditional API (传统方式) //上传路径 File file = new File("C:/upload"); //临时文件路径 File tempFile = ...
- java的重写、重载、覆盖的差别
多态性 通过继承,一个类能够用作多种类型:能够用作它自己的类型.不论什么基类型,或者在实现接口时用作不论什么接口类型.这称为多态性 重载 每一个类型成员都有一个唯一的签名.方法签名由方法名称和一 ...
- Ubuntu下安装使用Xfce4
编辑于 2007-05-05 21:30 安装: 代码: sudo apt-get install xfce4 xfce4-taskbar-plugin (xfce4-taskb ...
- 从P1到P7——我在淘宝这7年 - 子柳撰写
http://kb.cnblogs.com/page/132752/来自博客园的整理版本,作者是子柳,博客地址:http://blog.sina.com.cn/calvinzhaoc (一) 2011 ...
- 为什么我没有拔出钥匙 ——开锁引发的程序bug解决方案的思考
http://blog.csdn.net/wojiushiwo987/article/details/8851204为什么我没有拔出钥匙 ——开 ...