【php精品源码栏目提醒】:网学会员,鉴于大家对php精品源码十分关注,论文会员在此为大家搜集整理了“基于Drupal系统的网站开发-毕业论文 - 毕业设计”一文,供大家参考学习!
基于 Drupal 系统的网站开发【摘要】Drupal 是一个基于网站的内容管理系统CMS,可做为个人或大型网站发布、管理、组织不同内容的平台。
本文描述了使用 Drupal 系统对网站进行开发的实现过程。
文章首先引入 Drupal系统的相关简介,介绍了网站开发环境 WAMP,即 WindowsApacheMysqlPHP,并将 Drupal 系统应用到项目中,开发出了一个网站实例,具体分析了基于 Drupal 系统对网站主页的整合实现以及给出了网站部分功能说明。
【关键词】内容管理系统(CMS);Drupal ;
PHP;整合 Based on the Drupal System to Develop a Web Site【Abstract】 The Drupal is a Contents Management SystemCMS which based on the websiteand can be used as a personal or large web publishers management organizations contentplatform for different messages. This paper describes the realization process of developing awebsite using the Drupal System. Firstly we give a brief introduction of the related DrupalSystem and introduce the website development environment WAMPWindows ApacheMysql
PHP. In the last part we apply the system of Drupal to a project developing awebsite case. We specifically analyze how to achieve integration of the sites home page basedon the Drupal system and give website parts of functions elucidation.【keywords】Contents Management SystemCMS Drupal
PHP Integration 引 言 在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要作用。
而网站作为一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。
那么怎么快速容易的搭建一个实用网站呢?随着
PHP技术的飞速发展,搭建一个网站已经变得越来越容易。
特别是随着各种优秀CMS内容管理系统的出现,使得网站的开发不需要过多的编程,你所做的主要工作就是下载一些已有模块,下载一些主题风格,定制一些模块和一些主题风格,一个实用的网站就建好了。
优秀的CMS系统包括:Drupal、XOOPS、Mambo、
PHP-Nuke等等。
本文就意图向读者简单介绍基于Drupal系统的网站开发。
Drupal是一个新的CMS系统,它虽然没有Manbo流行,也没有XOOPS强大,但却是一个非常易用的内容管理系统,可做为个人或大型网站发布、管理、组织不同内容的平台。
包含了广为人知的weblog、论坛、投票、新闻聚合、站内搜索、电子商务等功能。
集安全、快速、易开发于一身的Drupal目前已是内容管理系统中的闪亮明星。
它最大的一个特点就是灵活的编程结构,使用极为严格的
PHP代码规范编写,这样能够方便地升级、管理、扩展和二次开发。
目前有很多著名的站点使用Drupal作为内容管理系统, 比如Debian Palanet、Spread Firefox、NASA 美国宇航局等。
Drupal本身就是开源社区的产物,因此很容易被开源社区的其他项目所接受, 目前有很多开源项目就是使用Drupal作为其站点的内容管理系统,比如国内Linux用户熟悉的MagicLinux和HiweedLinux等。
更值得一提的是,很多开源社区的交流站点也都使用Drupal来运行自己的站点, 比如中文的就有LinuxSIr、Debian Hongkong等,这些都是Drupal的有力支持者,同时也为Drupal的宣传普及做出了巨大的贡献。
Drupal不仅是一款值得用户信赖的开源软件,而且其设计理念、开发模式也很值得学习。
在飞速发展的互联网上,DrupaI一直走在内容管理系统与开发的前列,有自己的活跃社区,有着顽强的生命力。
随着Web 2.0 时代的到来,Drupal也在不断地升级和创 【1】新。
随着越来越多开发者和用户的参与,Drupal的发展将会更快、更稳、更优秀 。
第一章 Drupal系统和网站开发环境介绍.1 Drupal系统介绍 Drupal是一款
PHP核心的内容管理程序,使用MySQL或PostSQL作为数据库引擎,以GPL授权协议发布。
经过长达5年的发展,Drupal已远远超越了一个内容管理系统的定义。
对于一般用户而言,Drupal是一个功能强大的内容管理系统,对于高级用户本身具有
PHP开发经验的用户而言,Drupal是一个功能强大的内容管理开发工具,同时也可以作为一个单、多用户的博客系统,其强大的主题管理与定制系统能让站点独具特色【1】。
图 1.Drupal 站点主页图图 1 为 Drupal 中文网站支持社区主页图。
下面就从术语介绍、核心模块讲解和 Drupal 部分特点来对 Drupal 系统进行讲解。
Drupal 术语介绍 Drupal 是一个基于网站的内容管理系统CMS。
文字和关于其它类型内容的连接都存放在数据库中,通过响应浏览器发出的请求,进行动态的存取、编辑,并呈现给用户。
它里面的内容是独立的“节点”node。
对于“新闻”story类型的节点,用户可以对其进行评论(评论本身并不视为节点)。
根据网站设置,可以启用或禁用建立新节点和/或发表评论的功能。
此外,节点或评论comment也可以设置为需要经审核通过才可以公开发表。
Blog 文章是另一种 Drupal 节点类型。
Drupal 默认的布局(主题 theme)由三列组成。
中间列一般是内容,通常是用来显示按发表时间排列的节点的摘要。
如果你点某一节点的摘要(译注:一般是节点标题),就会在中间列显示该节点的完整内容。
左侧和右侧的列是“边栏”sidebar。
边栏可以显示相关信息的“区块”(block)。
区块通常包含通往其它节点的链接。
举例来说,会有显示最新发表的新闻的区块、或是最热门新闻的区块。
对于新安装的系统来说,会有一个用户登录区块,以及一个包含了目前可执行的操作的导航菜单。
根据你的操作和所拥有的权限(“角色”role),会在导航区块里显示不同的菜单项。
此外,根据你的操作和所拥有的权限,会显示或不显示某些区块。
举例来说,如果你已经登录系统了,就不会显示用户登录区块,如果没有任何新闻类型的内容节点,就不会显示“最近新闻”区块。
管理员可以在管理-gt区块菜单里启用/禁用不同的区块。
Drupal的新功能通常都是通过模块(module)的方式来导入。
当管理员在 modules目录下新增了一个模块文件时,使用该模块的选项就会出现在管理-gt模块菜单中。
如果管理员启用了该模块,该模块相应的功能就可以使用了。
模块可以定义新的节点类型,导航区块里可能会出现新的选单,或是在边栏里出现新的区块。
核心模块介绍 Drupal 的核心模块指的是 Drupal 下载安装后自带的模块,有些核心模块也并非必须,管理员可以根据需要开启或关闭。
Block 区块:可以把相关的或同类的内容放在一起,显示在你站点的左侧或右侧边栏。
如果使用“区域” region,区块也能放到你站点的任意位置。
一般来说,区块都是由模块自动生成的(例如:最近的论坛主题),但管理员也能自定义区块。
要显示边栏的区块,前提是你的主题使用了边栏(有的只使用左边,有的使用右边,有的都使用),并且要在区块管理中去设定。
在区块管理界面中,你可以通过分配权重值,来指定边栏里的各区块的排列顺序。
权重值较低的区块将靠近边栏的顶端,权重值较高的区块将靠近边栏的底端。
Search 模块:是站点内部搜索系统,能够通过关键字来搜索内容。
要在一个大站点内找到内容,搜索是最实用的方法。
它能通过搜索关键字来查找用户和文章。
搜索引擎通过维护你站点内容的关键词索引来运行。
它能把文章和用户建立索引。
你可以调整设置去改变索引行为。
请注意,搜索模块需要正确设置 cron(不知道怎么翻译,感觉像定时器)。
根据索引百分比的情况,设置每次 cron 运行时索引项目的最大数量。
如果你的 cron 超时或者
php 内存溢出,需降低该设置值。
Upload 模块:上传文件模块,上传upload模块允许用户上传文件到站点。
上传文件到网站的功能对于希望分享工作的社区成员来说来说是很重要的。
对于那些希望把上传文件关联到节点或页面的管理员来说也很有用 Node 模块:站点内所有内容都作为节点node进行存储和处理,因此节点是任何文章,例如 blog 文章、新闻、投票、论坛帖子等。
node 模块管理这些内容类型,这也是 Drupal 比其他内容管理系统强大的地方。
将所有内容作为节点处理,具有高度的弹性,便于建立新的内容类型,它也允许你轻松地对所有内容应用新特性或改变。
Menu 模块:允许定制菜单。
出现在区块的菜单有助于为你的站点提供导航,用于导航的主菜单是主导航菜单 User 模块:用户user模块允许用户注册,登录以及退出。
用户的信任来自能登录,因为他关联他们用他们的账号创建的内容,并允许对他们的角色设置不同的权限。
用户模块支持用户角色,可以设置正确的权限,使得每个角色只能做管理员允许的事情。
每个用户可以被指定一个或多个角色。
缺省情况一般有两个角色,匿名用户-没有登录,和授权用户-登录并被授权。
Drupal 部分特点 平台 支持 Apache/IIS,Unix/Linux/BSD/Solaris/Windows/Mac OS X:Drupal 从设 计一开始就是面向多平台的。
你不仅可以在 Apache 或 IIS 上使用,还可以在 Linux、BSD、Solaris、Windows、Mac OS X 等多种平台上运行 Drupal。
数据库独立(Database independence):很多用户使用 MySQL 作为 Drupal 运 行的数据库,但我们知道 MySQL 不是适合所有人的解决方案。
Drupal 建立在数 据库抽象层的顶层,这意味着你可以使用 MySQL 或 PostgreSQL。
其它的 SQL 数 据库也可以被 Drupal 支持,你需要编写一个包含 14 组功能的数据库后端并创 建一个匹配的 SQL 数据库架构。
多语言(Multi-language):Drupal 设计符合全球使用者需求,提供了完整的 框架用以创建多语言的网站、博客、内容管理系统和社群应用。
通过导入现有 的翻译资料,或通过与其它的翻译软件整合(例如 GNU gettext),所有的文字 都可以在一个图形用户界面被翻译。
社群特性 论坛(Discussion forums):Drupal 内建了完整的论坛模块,可用以创建活跃 的、动态的社群站点。
性能和可伸缩性 缓存(Caching):缓存机制可以减少对数据库的查询,减轻服务器的负荷从而 提高站点的运行效能。
当站点负荷量大时,你还可以对缓存实时调整。
开启缓 存机制的站点不仅成功的通过了“slashdotting”测试,而且表现得相当出色!.2 系统开发环境介绍(一)网站开发环境 操作系统:Windows XP 服务器:Apache-Httpd-2.0.55 数据库:MySQL-5.0.16
PHP:
php-4.4.1(二)关于 Apache、MySQL、
PHP Apache服务器:Apache是目前Internet上使用最广泛的www服务器软件。
它是一 种开放
源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平 台和安全性,尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞 总能被很快修补。
因此总的来说,其安全性还是相当高的。
基于LINUX操作系统 下搭建Apache服务器,以
PHP为核心、以MySQL为数据库的黄金组合是现行网络 上采用比较多的服务器类型结构,在实际的应用中也证实其稳定性和可靠性, 同时,服务器的善于管理等优点得到广大用户的支持【2】。
Apache支持许多特性, 大部分通过编译的模块实现。
这些特性从服务器端的编程语言支持到身份认证 方案。
日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分 析。
它的网络服务器,让用户充分体验到开放
源码软件的稳定性、可靠性和可 定制性。
Apache是服务器软件始终不断进化的大块部件,它免费但又是无价之 宝,是在资源开放运动中出现的绝对珍品,因为不属于个人专利而是对公共免 费【3】。
一旦拥有这些
源码,程序员能够自由完成所想——能在其它程序员接替 工作时被赋予同样的权限来改变和修改自己的源代码。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。
它由 nrSQL发展而来,是一个快速、多用户、多线程的SQL数据库服务器系统,其优 越的性能和非商业目的免费许可使用,使其在网络数据库领域中得到了广泛的 应用【4】。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、 速度快、总体拥有成本低,尤其是开放
源码这一特点,许多中小型网站为了降 低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的特性:使用C和C 编写,并使用了多种编译器进行测试,保证源代码的可移植性 ,支持AIX、 FreeBSD、HP-UX、 Mac Linux、 OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、 Windows等多种操作系统,为多种编程语言提供了API。
这些编程语言包括C、C、 Eiffel、Java、Perl、
PHP、Python、Ruby和Tcl等,支持多线程,充分利用CPU 资源 ,优化的SQL查询算法,有效地提高查询速度,提供用于管理、检查、优 化数据库操作的管理工具,可以处理拥有上千万条记录的大型数据库。
MySQL的 应用:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有 它的不足之处,如规模小、功能有限(MySQL不支持视图(已经被列入 5.1 版的 开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的 个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL 是开放
源码软件,因此可以大大降低总体拥有成本。
目前Internet上流行的网 站构架方式是LAMP(LinuxApacheMySQLPHP),即使用Linux作为操作系统, Apache作为Web服务器,MySQL作为数据库,
PHP作为服务器端脚本解释器。
由于 这四个软件都是遵循GPL的开放
源码软件,因此使用这种方式不用花一分钱就可 以建立起一个稳定、免费的网站系统。
MySQL管理:phpMyAdmin是由
php写成的 MySQL资料库系统管理程式,让管理者可用Web介面管理MySQL资料库。
PHP:一个 嵌套 的缩写名称, 是英文超级文本预处理语言(
PHP:Hypertext Preprocessor)的缩写。
PHP 是一种 HTML 内嵌式的语言,
PHP与微软的ASP颇 有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风 格有类似于C语言,现在被很多的网站编程人员广泛的运用。
PHP 独特的语法混 合了 C、Java、Perl 以及
PHP 自创新的语法。
它可以比 CGI 或者 Perl 更快 速的执行动态网页。
用
PHP做出的动态页面与其他的编程语言相比,
PHP是将程 序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多,与 同样是嵌入HTML文档的脚本语言JavaScript相比,
PHP在服务器端执行,充分利 用了服务器的性能,
PHP执行引擎还会将用户经常访问的
PHP程序驻留在内存中, 其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存 中的代码就可以了,这也是
PHP高效率的体现之一【5】。
PHP具有非常强大的功能, 所有的CGI或者JavaScript的功能
PHP都能实现,而且支持几乎所有流行的数据 库以及操作系统。
世界上有超过 6OO万个网站用
PHP,并且还在不断地增加。
PHP 的出现,可以成为ASP的代替品,它拥有ASP开发Web应用程序的简单易用的特点, 又有很好的不同平台间的可移植性,很有发展潜力。
PHP的特性包括:开放的源 代码,是免费的,基于服务器端:由于
PHP是运行在服务器端的脚本可以运行 在UNIX、LINUXWINDOWS下,嵌入HTML:因为
PHP可以嵌入HTML语言,所以学习起 来并不困难,简单的语言:
PHP坚持脚本语言为主,效率高:
PHP消耗相当少的 系统资源,图像处理:用
PHP动态创建图像。
图 2 为
PHP工作原理图: 图2.
PHP工作原理图 具体工作原理:用户通过Web客户端浏览器请求某个功能页面。
Web服务器接受这 个请求,根据系统的逻辑设计,将这个请求对应的
PHP文件读出,并交给
PHP处理 程序。
PHP处理程序解释这个文件,执行相应的处理过程,如数据库的访问与操 作等。
PHP从数据库中取得数据后,将按照文件的要求,形成一个标准HTML页面。
将生成的HTML页面交给Web服务器。
web客户端浏览器将该HTML文件解释执行并显 示出来【6】。
这样就完成了一次客户浏览器端提出的某个
PHP请求。
第二章 系统需求分析.1 设计思想 建立网站要有统筹合理的总体设计方案。
网站建设大致思路如下: 网站总体设计规划 建设一个网站,首先要有明确的主题,并从整体上把握网站的结构,将各个方面的各种资料有序地结合起来,总体结构设计应力求分类简明、层次清晰、结构完整,给人以内容丰富、制作精细、统一规范的感觉。
具体要求是:版面要新颖、有特色,内容以网站整体宣传为主,同时收集用户的反馈意见,建立导航并要求其使用方便、准确、层次分明,网站内部不对外的信息加以必要的保护等。
创建站点 要建设一个优秀的站点并不是一件很容易的事。
这首先要作好内容的筹备工作:主要包括要使用的文献、图片、图形等,这要花费大量的时间来写作、采集和绘制,其次要着重策划站点的风格,特别是首页风格,并设计好方便、简洁、准确的站点导航,因为它就像是一张导游图,可以引导浏览者方便快捷地找到自己希望看到的风景。
网站的检查和测试 这是网页在发布之前需要做的一项重要工作,因为在创建网页时,不可避免地会遇到一些错误,这主要包括:中文或西文的拼写错误、破碎的图像符号、凌乱的布局、页面不能访问、超链接错误等。
这就需要对网页乃至整个站点进行检查。
一般可通过在浏览器中预览来进行检查或测试,主要是检查各个网页中的超级链接是否正确、内容是否可以准确地在浏览器中显示以及网页下载的速度。
网站的发布与维护管理 当对网页进行了测试,确信正确无误后,就可将其发布到Internet上,以使更多的用户访问到我们的站点具体操作不再叙述。
为了让站点始终维持较高的访问率,要做好日常的维护与管理工作。
这需要不断地更新页面内容,让最新信息发布出来,让访问者对站点始终保持新鲜感,要保证网站的安全性,以防被人恶意破坏。
.2 网站需求分析 按照前面的设计思想,对网站进行分解,下面从内容和功能上分别对网站进行分析。
网站总体信息布局图 图3.网站主页信息图 后台功能分析下面从普通用户和管理员对网站功能进行划分: 普通用户(一般管理员)具有的功能:注册,登录,注销,发布相对权限的内容,查看、编辑和删除相对内容(因为网站的普通管理员是按角色去划分权限的,一种角色定义了一组拥有特定权限的用户,这些权限在用户权限中予以定义,比如:个人主页管理员,文章管理员。
所以不同角色仅具有操作相对内容的权限),上传下载文件和搜索功能。
管理员(超级管理员)具有的功能:除过和普通用户具有相同的功能外,管理员具有以下其他功能: 内容管理:查看、编辑和删除所有网站内容,按照内容类型管理文章,包括 默认推荐、首页推荐等等。
控制发表行为:比如最少文字数,发表前先预览, 以及首页的文章数。
站点创建:选择用户可访问的主题及指定默认主题,设置不同区块内容出现 在站点的不同位置,选择启用哪些模块,控制网站导航菜单,创建菜单区块, 以及重命名和重新组织菜单项。
站点配置:设置网站显示日期和时间的格式,以及系统的默认时区,设置网 站的本地化和用户界面翻译,更改网站基本信息,例如:站号,口号,电子 邮件地址,任务,首页等等,启用或禁用网站的简洁链接,配置用户输入的 内容应如何过滤,包括允许的HTML标签,
php代码标签,同时还可以开启由 模块提供的过滤器,控制网站如何处理错误,包括403(禁止访问)/404(未 找到)错误以及
php错误报告。
用户管理:列出、添加和编辑用户,允许用户注册、登录、注销、维护用户 配置文件等,选择角色的权限来确定其可使用的功能,限允许控制用户可以 在网站上执行的操作。
第三章 基于Drupal系统对网站的开发 这个网站是借助 Drupal 系统强大的内容管理功能,在这里要把网站的 HTML 主题整合到 Drupal 系统中。
大家现在看到的图 4 就是网站的主页图,下面就从网站主页的布局、Drupal 主题的制作过程以及网站部分功能来谈基于 Drupal 系统对网站的开发实现。
.1 网站主页HTML框架布局 从图 4 我们可以得到网站主页框架布局为:头部、左侧栏、内容、底部和两侧对联共五部分。
头部信息包括:language (语言栏)网站 logo、搜索框、主链接和相关图片。
左侧栏是放招生就业、本科专业、网络服务、
精品课程和教师主页.
上一篇:
电脑黑客工具大全(苦心整理)
下一篇:
四季相伴,文字生香