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. 使用Bundle进行VIM插件的管理

    http://www.oschina.net/p/vundle git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle ...

  2. iOS XMPPFramework 环境配置

    iOS XMPPFramework 环境配置 1:下载 iOS XMPPFramework https://github.com/robbiehanson/XMPPFramework 2:下载解压zi ...

  3. linux中Oops信息的调试及栈回溯

    Oops 信息来源及格式 Oops 这个单词含义为“惊讶” ,当内核出错时(比如访问非法地址)打印出来的信息被 称为 Oops 信息. Oops 信息包含以下几部分内容. 1 一段文本描述信息. 比如 ...

  4. XCODE修改IOS应用的名称

    原地址:http://zengwu3915.blog.163.com/blog/static/2783489720136210252843/ 首先在左侧选择你的目标组中的项目文件.在中间选择“生成”选 ...

  5. How to add a button in the seletions "More"

    <?xml version="1.0" encoding="utf-8"?> <openerp> <data> <re ...

  6. UNIX环境编程初步认识——编程环境搭建

     前言 前期学习了Linux的一些基本知识后,在借助前期的学习的基础上想再初步认识一下操作系统的一些环境编程体系相关知识,当中环境的配置和搭建费了非常大的劲,须要一点点摸索和尝试,下边是环境搭建的 ...

  7. Ant—怎样Windows操作系统中搭建Apache Ant环境

    介绍一下怎样在Windows操作系统中搭建Apache Ant环境: 一.下载Apache Ant压缩文件:http://download.csdn.net/detail/wangshuxuncom/ ...

  8. datagrid("getSelections")只获取一行

    页面加载方法如下 function loadSfXtjsList(sfXtjsListId, url, onClickFun) { $("#eastPanel").panel({ ...

  9. 详解C#泛型(二) 获取C#中方法的执行时间及其代码注入 详解C#泛型(一) 详解C#委托和事件(二) 详解C#特性和反射(四) 记一次.net core调用SOAP接口遇到的问题 C# WebRequest.Create 锚点“#”字符问题 根据内容来产生一个二维码

    详解C#泛型(二)   一.自定义泛型方法(Generic Method),将类型参数用作参数列表或返回值的类型: void MyFunc<T>() //声明具有一个类型参数的泛型方法 { ...

  10. ItelliJ基于Gradle创建及发布Web项目(一)

    背景:安装IntelliJ,去官网下载. 创建WEB项目 1. File->New Project,在弹出的选项框中勾选Web,如下图. IntelliJ默认使用Gradle,感谢Gradle. ...