smarty 快速入门

smarty 快速入门

smarty

定义:一个开源的模板引擎

模板引擎是为了使用户界面与业务数据分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。

功能

将网站的数据和网站的界面实现分离(php和html代码)

缓存页面

下载

www.smarty.net

使用

1.引入smarty类库

2.实例化smarty对象

3.初始化参数

template_dir  模板存放目录

compile_dir  编译目录

4.分配变量

5.解析模板

注释    {* 这是注释的内容*}

忽略smarty解析     {literal} {/literal}

例子:

//第一步移入smarty类

require ‘./libs/Smarty.class.php‘;

//第二步实例化对象

$s = new Smarty;

//第三步初始化

$s->template_dir = ‘./View‘;

$s->compile_dir = ‘./View_c‘;

$pdo = new PDO(‘mysql:host=localhost;dbname=pass;charset=utf8‘,‘root‘,‘‘);

$stmt = $pdo->query(‘select * from news‘);

$res = $stmt->fetchAll(PDO::FETCH_ASSOC);

//var_dump($res);

//第四步 分配变量

$s->assign(‘title‘,‘新闻管理系统???????????‘);

// $s->assign(‘name‘,‘什么呢????‘);

$s->assign(‘res‘,$res);

//第五步 解析模板

$s->display(‘add.html‘);

//建立 view文件存放改变网页 view_c转换文件

add.html

{extends file=‘index.html‘}

{block name=‘title‘}

<title>新闻添加页面</title>

{/block}

{block name=‘content‘}

<h3>发布新闻</h3>

<form action="action.php?action=add" method=‘post‘>

<table border=‘0‘ width=‘400‘>

<tr>

<td align=‘right‘>标题:</td>

<td><input type="text" name=‘title‘></td>

</tr>

<tr>

<td align=‘right‘>关键字:</td>

<td><input type="text" name=‘keywords‘></td>

</tr>

<tr>

<td align=‘right‘>作者:</td>

<td><input type="text" name=‘author‘></td>

</tr>

<tr>

<td align=‘right‘>内容:</td>

<td><textarea name="content" id="" cols="30" rows="5" width=‘300px‘ height=‘200px‘ style=‘resize:none‘></textarea></td>

</tr>

<tr>

<td colspan=‘3‘ align=‘center‘>

<input type="submit" value=‘添加‘ />&nbsp;&nbsp;&nbsp;

<input type="reset" value=‘重置‘ />

</td>

</tr>

</table>

</form>

{/block}

index.html

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

{block name=‘title‘}

<title>新闻管理系统</title>

{/block}

<style type="text/css">

{literal}

table,td{font-family:微软雅黑;text-align:center;}

h3{font-family:微软雅黑;}

{/literal}

</style>

</head>

<body>

<center>

{include file=‘menu.html‘}

{block name=‘content‘}

<h3>浏览新闻</h3>

<table border=‘1‘ width=‘880‘>

<tr>

<th>新闻ID</th><th>新闻标题</th><th>新闻关键字</th><th>作者</th><th>新闻内容</th><th>操作</th>

</tr>

{foreach $res as $v}

<tr>

<td><?= $v[‘id‘]?></td>

<td><?= $v[‘title‘]?></td>

<td><?= $v[‘price‘]?></td>

<td><?= $v[‘url‘]?></td>

</tr>

{/foreach}

</table>

{/block}

</center>

</body>

</html>

menu.html

<meta charset=‘utf-8‘ />

<style type="text/css">

body{ font-family:微软雅黑;}

</style>

<h2>新闻管理系统</h2>

<a href="./index.php">浏览新闻</a>  |

<a href="./add.php">发布新闻</a>

<hr width=‘800px‘ />

时间: 2024-10-11 05:43:25

smarty 快速入门的相关文章

Smarty快速入门

在PHP的世界里已经出现了各式各样的模板类,但就功能和速度来说Smarty还是一直处于领先地位,因为Smarty的功能相对强大,所以使用起来比其他一些模板类稍显复杂了一点.现在就用30分钟让您快速入门. 一. 安装 首先打开网页http://smarty.php.net/download.php,下载最新版本的Smarty.解压下载的文件(目录结构还蛮复杂的).接下来我演示给大家一个安装实例,看过应该会举一反三的.     (1) 我在根目录下建立了新的目录learn/,再在learn/里建立一

笔记:Spring Cloud Zuul 快速入门

Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了所有其他微服务的实例信息,这样的设计非常巧妙的将服务治理体系中维护的实例信息利用起来,使得维护服务实例的工作交给了服务治理框架自动完成,而对路由规则的维护,默认会将通过以服务名作为 ContextPath 的方式来创建路由映射,也可以做一些特别的配置,对于签名校验.登录校验等在微服务架构中的冗余问题

javaweb-html快速入门

本文主要是进行HTML简单介绍(详细的属性查帮助文档就行了,这里主要为快速入门,赶时间,在最短的时间中看明白一个html文件的代码(如果能称之为代码的话)详细的样式表,布局啥的有时间再研究吧) HTML 1.html的简介 1.1,html的全称:HyperText Mark-up Language ,超文本标记型语言,是网页的语言. 超文本:比文本更加强大(后面还会讲到XML,可扩展标记性语言) 标记:就是标签,html所有操作都是通过标签直接或间接的操作(把需要操作的数据通过标签封装起来)

crosswalk 快速入门,利用WebRTC(html)开始开发视频通话

crosswalk 快速入门,利用WebRTC(html)开始开发视频通话 安装Python 从http://www.python.org/downloads/ 下载安装程序 安装完后,再添加到环境变量. 安装Oracle JDK 下载页面: http://www.oracle.com/technetwork/java/javase/downloads/ 选择要下载的Java版本(推荐Java 7). 选择一个JDK下载并接受许可协议. 一旦下载,运行安装程序. 安装Ant Ant:下载http

bash编程快速入门

首先,我们简单的介绍一下bash,bash是GNU计划编写的Unixshell,它是许多Linux平台上的内定shell,它提供了用户与系统的很好的交互,对于系统运维人员,bash的地位是举足轻重的,bash编程能很快处理日常的任务 bash入门,一个最简单的bash例子 #vim hello.sh #!/bin/bash #This is the first example of the bash #echo "Hello world" 下面,我们就这个简单的bash 脚本来介绍一下

定时器(Quartz)快速入门

Quartz概述 Quartz中的触发器 Quartz中提供了两种触发器,分别是CronTrigger和SimpleTrigger. SimpleTrigger 每 隔若干毫秒来触发纳入进度的任务.因此,对于夏令时来说,根本不需要做任何特殊的处理来"保持进度".它只是简单地保持每隔若干毫秒来触发一次,无论你的 SimpleTrigger每隔10秒触发一次还是每隔15分钟触发一次,还是每隔24小时触发一次. CronTrigger 在特定"格林日历"时刻触发纳入进程的

vue.js--60分钟快速入门

Vue.js--60分钟快速入门 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用Vue.js. 本文摘自:http://www.cnblogs.com/keepfool/p/5619070.html 如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM

Netty5快速入门及实例视频教程(整合Spring)

Netty5快速入门及实例视频教程+源码(整合Spring) https://pan.baidu.com/s/1pL8qF0J 01.传统的Socket分析02.NIO的代码分析03.对于NIO的一些疑惑04.Netty服务端HelloWorld入门05.Netty服务端入门补充06.Netty客户端入门07.如何构建一个多线程NIO系统08.Netty源码分析一09.Netty源码分析二10.Netty5服务端入门案例11.Netty5客户端入门案例12.单客户端多连接程序13.Netty学习

一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一

原文因涉及翻墙信息,被强制删除,此文为补发! 准备工作 进入Google Daydream开发者官网,开启准备工作,官网地址:https://vr.google.com/daydream/developers/ -------------------------------------------------------------------------------------------------------------------- Google Daydream开发者网址: https