smarty笔记
smarty 笔记
display():
把html包含进来
然后用正则匹配php变量
把匹配好的页面重新保存
inclue载入刚才的保存的页面
1.smarty原理
2.smarty安装
3.smarty模板设计
4.smarty程序设计
四个默认文件夹//可在 smarty().__construct改
cache
configs
templates
templates_c
style 和 script的 {} 要注意替换 用left_delimiter("<{")
$s->right_delimiter("}>")
使用模板的时候 smarty就用<{ 代替{
$s->caching = true;//开启缓存
包含图片,css,js要相对于index.php的路径,因为index.php包含执行
./当前目录
../上级目录
基本语法:
注释 {* xxxxx *}
模板中的类对象
$s->assign("obj",new Person());
{config_load "index.conf"} // bgcolor="#ccc";
<body bgcolor="{#bgcolor#}">
操纵php超全局数组
$smarty.get.id <===> $_GET['id'];
//pdo
$pdo = new pdo("mysql:host=localhost;dbname=test","root","root");
$pdo -> setAttribute (PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
$pdo -> setAttribute (PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$pdo ->exec("set names utf8");
//分页
<?php
include ("smarty.inc.php");
include ("pdo.inc.php");
$page = $_GET['page']?$_GET['page']:1;
echo $s->isCached($smarty_dir."/templates/index.html",$page);
if(!$s->isCached($smarty_dir."/templates/index.html",$page))
{
$totsql = "select count(*) from user";
$sth = $pdo -> prepare($totsql);
$sth ->execute();
$tots = $sth -> fetchColumn();
$length = 3;
$offset = ($page - 1) * $length;
$prepage = $page - 1;
$nextpage = $page;
if($nextpage < ceil($tots/$length))
{
$nextpage = $page + 1;
}
else{
$nextpage = $page;
}
$sql = "select * from user order by id limit $offset,$length";
$sth = $pdo->prepare($sql);
$sth -> execute();
$rows = $sth -> fetchALL();
$s -> assign("rows",$rows);
$s -> assign("prepage",$prepage);
$s -> assign("nextpage",$nextpage);
}
$s -> display($smarty_dir."/templates/index.html",$page);
?>
index.html
<body>
<table width="500px" border="3px solid #ccc">
<{foreach $rows as $val}>
<tr>
<td><{$val.id}></td>
<td><{$val.username}></td>
</tr>
<{/foreach}>
</table>
<a href="../index.php?page=<{$prepage}>" title="">上一页</a>|
<a href="../index.php?page=<{$nextpage}>" title="">下一页</a>
</body>
smarty笔记的更多相关文章
- Smarty笔记 和20个常用的变量操作符
什么是Smarty变量操作符php模板引擎smarty内置的一些操作函数,我们称之为变量操作符,变量操作符可用于操作变量,自定义函数和字符.(跟我PHP中常用的PHP内部函数类似)他可以帮助我们完成很 ...
- 160726 smarty 笔记(1)
模板里面显示变量:1.变量要写在Smarty标记之间,变量名以$开头<{$test}>2.支持所有类的数据,包括数组(关联数组),对象关联数组在模板显示的时候,除了可以使用php语法之外, ...
- 160726 smarty 笔记(2)
<?php //取当前页 $p=1; if(!empty($_GET["page"])) { $p=$_GET["page"]; } //定义页面缓存文件 ...
- smarty之缓存笔记
smarty缓存技术 在smarty中,缓存分为:普通缓存,单模版都缓存,局部缓存. 缓存:1:首选打开缓存配置项:$smarty->caching=true; 2:缓存生命周期的配置选项:$s ...
- Smarty学习笔记(二)
1.引用 {include file="xxx.xxx" sitename="xxx"} 向引入的文件传入变量: {include file="xxx ...
- Smarty学习笔记(一)
1.Smarty的配置: 将lib的内容复制到自己的工程,然后引入 实例化和配置Smarty基本属性: $smarty = new Smarty(); $smarty->left_delimit ...
- PHP-MVC和Smarty初探笔记
在慕课网上学习了PHP的MVC的基础知识,记录一下笔记: 等待更新~
- smarty详细使用教程(韩顺平smarty模板技术笔记)
MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...
- Yaf + Smarty 整合笔记
Yaf真的是太简单了,简单到使用mvc的时候在view里面需要手写php脚本.因此考虑整合一下smarty模板引擎.随心所欲也正是yaf的魅力 Yaf 安装 这里简单说一下yaf的安装,已经是非常无脑 ...
随机推荐
- XOR on segment(线段树区间异或更新)
原题传送门 本题大意:给定n个数字和m个操作,操作共有两种,第一种是求解区间l到r上元素的和,第二种是将区间l到r的元素都异或一个x,作为某个位置的新值. 很容易想到线段树维护区间和,但是我们发现,在 ...
- numpy伪随机数的生成
numpy伪随机数的生成 normal函数 可以用normal来得到一个标准正态分布的4×4样本数组 >>> import numpy as np >>> samp ...
- python 链接mysql
下载对应版本 安装 https://dev.mysql.com/downloads/connector/python/ 创建链接 # python 链接mysqlimport mysql.conn ...
- python爬虫常用第三方库
这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pycurl). pycurl – 网络 ...
- 查找元素在list中的位置以及折半查询
问题 查找某个值在list中的位置 解决思路 能够用折半查询的方法解决此问题. 解决(Python) #! /usr/bin/env python #coding:utf-8 #折半查找某个元素在li ...
- [.net core]1,asp.net core 的优势及特性
1.跨平台 支持windows ,linux .macOS 可以托管在iis,apache,Docker,或自宿在自己的进程 2.强大的IDE visual studio 或visual studio ...
- sql server 幂运算函数power(x,y)、square(x)、exp(x)
--POWER(x,y)函数返回x的y次乘方的结果值 --SQUARE(x)函数返回指定浮点值x的平方 --EXP(x)函数返回e的x乘方后的值 示例:select POWER(2,2), POWER ...
- qt treeview过滤
一,不多说直接上代码 QSortFilterProxyModel可实现过滤排序.但是如果直接使用只能对于父项进行过滤 这里需要继承 头文件 #include <QSortFilterProxyM ...
- 使用consul
eureka官方已经正式宣布:自2.0起不再维护该项目,并在github 项目wiki上放出了一段吓唬人的话: 大意就是:从2.x起,官方不会继续开发了,如果需要使用2.x,风险自负.但其实我觉得问题 ...
- CSS hack(过滤器)
CSS hack概念: 是针对不同浏览器对同一段代码解析不同的处理方案:<解决兼容性问题> 属性设置在不同版本的IE里会出现不兼容问题,css hack解决兼容主流浏览器和IE 常见的过滤 ...