Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
Slideshow Transcript
- Slide 1: 基于 Smarty 模板框架的 新闻管理系统 软件工程 (2) 班 李一博 04930503058
- Slide 2: PHP 与 ASP,CGI 的比较 脚本语言 PHP ASP CGI 操作系统 均可 Windows 均可 Web 服务器 多种 IIS 均可 执行效率 快 快 慢 稳定性 好 中等 很好 开发周期 短 短 长 程序语言 PHP VB/Java Script C 语言等多种 易于上手 容易 容易 困难 函数支持 多 少 根据语言不定 系统安全 好 差 很好
- Slide 3: Smarty 介绍 Smarty 是一款流行的模板引擎类库。所谓 模板引擎,就是一个用于执行 PHP 和模板 语言设计出相应的模板页面。而负责编写 程序的程序员不需要对模板进行任何修改 ,只需要在另外一个 PHP 代码中对模板中 的变量进行赋值即可。 Smarty 的工作原理 如图所示。
- Slide 4: Smarty 的工作原理 PHP 程序 模板文件 Smarty 模板引擎 编译后的 PHP 文件 在浏览器上输出的页面
- Slide 5: 用一个简单的例子说明 以下为模板文件 test.htm 的内容 <html> <head> <title>Hello,Smarty</title> </head> <body> <H1>Hello,{$Name}</H1> </body> </html>
- Slide 7: 用一个简单的例子说明 以下为 php 文件 test.php 的内容 <?php require ‘smarty/Smarty.class.php’;// 包含 Smarty 类库文件 $smarty = new Smarty; // 创建一 个新的 Smarty 对象 $smarty->assign(“Name”,”Smarty”);// 对模板中 的变量进行赋值 $smarty->display(‘test.htm’); // 显示页 面 ?>
- Slide 9: 浏览器实际运行的代码 <?php /* Smarty version 2.6.19, created on 2008-03-25 08:33:00 compiled from test.htm */ ?> <html> <head> <title>Hello,Smarty</title> </head> <body> <H1>Hello,<?php echo $this->_tpl_vars['Name']; ?> </H1> </body> </html>
- Slide 10: 模板框架的目标 Smarty 模板框架的实质并不只是单纯地分 离 PHP 代码和 HTML 代码,它的目标是真 正的分离业务逻辑和表现逻辑。
- Slide 11: Smarty 的缓存机制 缓存的重要性 Smarty 的缓存方式
- Slide 12: Smarty 类库的主要文件 Smarty.class.php Smarty_compiler.class.php
- Slide 13: 关于我的毕业设计 本设计通过实际开发一个功能全面的新闻 管理系统,来展示动态网站中关于模版的 应用,并展示了在流行的模版技术的支持 下,网站体系的结构层次变化以及所带来 的优缺点。
- Slide 14: 设计所应实现的功能 1) 用户能够访问到的所有页面全部采用 Smarty 模板引擎 设计。 2) 分离表现逻辑和业务逻辑,网页文件源代码不含任何 PHP 区域,并实现动态访问的功能。 3) 用户可以根据不同文章分类浏览新闻,分类页具备分 类显示功能,新闻浏览页具备查找上下文功能。 4) 用户可以通过新闻搜索栏搜索新闻标题来查找新闻。 5) 管理员可以在登录后直接添加,删除新闻。 6) 管理员可以更改整个网站每个访问页面的模板,只需 修改 PHP 文件的模板文件名,无需改动任何模板文件。 7) 当网站需要修改时,程序设计人员和页面设计人员可 同时独立工作,提高开发效率。
- Slide 15: 前台浏览流程图 开始 默认模板首页 分类浏览页 新闻浏览页 其它模板文件 查询结果页
- Slide 16: 后台管理流程图 开始 管理员登录 新闻管理 数据库 退出登录
- Slide 17: 数据流图 直接登录 分类 ID 浏览者 首页 分类浏览 关键字 分类 ID ,新 闻 ID 查询浏览 新闻浏览
- Slide 18: 新闻实体信息 E-R 图 新闻编号 新闻题目 新闻内容 类别编号 新闻信息 更新时间
- Slide 19: 分类信息实体 E-R 图 分类编号 分类标题 更新时间 分类信息
- Slide 20: 管理员实体 E-R 图 用户名 管理员信息 密码
- Slide 21: 实体之间的联系图 N N 1 用户 新闻信息 类别信息 N 添加 删除 操作 1 管理员 修改
- Slide 22: 运行环境的配置 Apache MySQL PHP Smarty
- Slide 23: CMS( 数据库名 ) Articles 表 Config 表 Type 表 User 表
- Slide 24: 数据库表一览
- Slide 25: Smarty 的配置 类库的存放位置 所必需的三个文件夹 templates 文件夹 templates_c 文件夹 configs 文件夹
- Slide 26: 两个可重用的 php 文件 Conn.php GetSQLValueString.php
- Slide 27: 模板文件夹展示
- Slide 28: 客户端设计 主页的设计 (index.php) 分类页的设计 (list.php) 浏览页的设计 (view.php) 查询页的设计 (search.php)
- Slide 29: 下面展示 index.php( 模 板 1)
- Slide 31: 下面展示 list.php( 模板 1)
- Slide 33: 展示 view.php( 模板 1)
- Slide 35: 展示 search.php( 模板 1)
- Slide 37: 模板文件代码节选
- Slide 40: 服务端设计 管理员登录 列出所有新闻 对新闻的增删改查操作
- Slide 41: 展示管理员新闻页面 admin_list.php
- Slide 43: 模板的更换 为了体现更换的效果,本人做了三套静 态模板,可在页面中直接切换成不同的页 面样式。在最后的视频演示中会展示。
- Slide 44: 最后是毕业设计视频演示 谢谢观看

