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的更多相关文章

  1. Smarty的基本使用与总结

    含义: Smarty是PHP的一个引擎模板,可以更好的进行逻辑与显示的分离,即我们常说的MVC,这个引擎的作用就是将C分离出来. 环境需求:PHP5.2或者更高版本 我使用的环境是:PHP5.3,wi ...

  2. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  3. smarty使用

    smarty-牛刀小试 smarty 初识 官网 http://www.smarty.net/ Smarty is a template engine for PHP(PHP模板引擎) smarty使 ...

  4. Smarty模版引擎的原理

    Smarty是一个使用php写出来的模版引擎,用来将原本与html代码混杂在一起PHP代码逻辑分离,实现前后端分离. Smarty模板优点: 1. 速度:采用Smarty编写的程序可以获得最大速度的提 ...

  5. 12月15日下午Smarty模板函数

    1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...

  6. 12月15日smarty模板基本语法

    smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...

  7. 12月13日上午Smarty模版原理

    模板主要是用来让前端和后端分离的,前台页面只是一个前台页面,后台页面用php代码写逻辑,写完逻辑拿到前台显示. 一.写法 一般需要以下:写3个页面: 1.显示页面aa.html <!DOCTYP ...

  8. SMARTY模板中如何使用get,post,request,cookies,session,server变量

    {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...

  9. 在新浪云SAE中使用smarty引擎模版

    在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unab ...

随机推荐

  1. 格式化Curl返回的Json字符

    格式化Curl返回的Json字符 学习了:https://blog.csdn.net/guijiaoba/article/details/78235523 , 使用python工具 curl xxx ...

  2. 转: SSH 公钥认证

    转: http://blog.knownsec.com/2012/05/ssh-%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81/ SSH 公钥认证 2012-05-15 简介 ...

  3. 解决Ubuntu Ping网关Destination Host Unreachable错误

    ifconfig 检查了配置,没问题,是ok的, 检查了防火墙,是关闭的,邪乎了,是什么问题呢 各种尝试,最后,将 ip 搞成自动获取就 可以ping通了,但为啥手动设置就不行呢? 最后看了这个朋友的 ...

  4. 推送未找到应用程序的“aps-environment”的权利字符串错误

    一:使用百度推送,或是苹果自带的推送出,才配置好anps-cer文件之后,出现错误 推送未找到应用程序的“aps-environment”的权利字符串错误 二:错误原因: 此原因是配置好推送证书之后, ...

  5. /dev/null 和 /dev/zero

    1.概论 -- 来自维基的解释 /dev/null  : 在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一 ...

  6. 【转帖】Sigma水平和缺陷率的对应关系:正态分布中心和1.5标准差偏移

    http://www.pinzhi.org/thread-5395-1-1.html Sigma水平和缺陷率的对应关系:正态分布中心和有1.5个标准差偏移 在过程稳定时,若给出了规范限,过程的平均与标 ...

  7. SQL SERVER 2005允许自定义聚合函数

    不多说了,说明后面是完整的代码,用来将字符串型的字段的各行的值拼成一个大字符串,也就是通常所说的Concat 例如有如下表dict  ID  NAME  CATEGORY  1 RED  COLOR  ...

  8. C#删除xml指定节点

  9. MySQL数据约束和关联查询

    1 默认值deafult:在建表的时候字段后使用 default ,默认值字段允许为null. 2 非空 not null:在建表的时候字段后使用  not null. 非空字段必须赋值,并且不能是n ...

  10. 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM 各公共网关接口介绍

    CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一 ...