基于Smarty模板引擎的新闻管理系统
Upcoming SlideShare
Loading in...5
×
 

基于Smarty模板引擎的新闻管理系统

on

  • 2,983 views

 

Statistics

Views

Total Views
2,983
Views on SlideShare
2,979
Embed Views
4

Actions

Likes
2
Downloads
20
Comments
0

1 Embed 4

http://www.techgig.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    基于Smarty模板引擎的新闻管理系统 基于Smarty模板引擎的新闻管理系统 Presentation Transcript

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