- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP网络编程自学完全手册 第16章 实例内容管理系统
第16章 实例:内容管理系统 本章将使用PHP语言,进行内容管理系统项目的开发。内容管理系统可以用于构建网站,知识管理等系统,其主要功能包括:栏目管理、内容管理、用户管理等。本章开发的内容管理系统中,将使用ADODB用于访问数据库,使用Smarty类库实现网站模板系统。 16.1 PHP与Smarty 在开始实现内容管理系统之前,读者有必要了解一下Smarty类库的下载、安装与使用的方法。本章实现的项目,将使用其实现模板系统。 16.1.1 Smarty介绍 关于模板系统的实现与使用,在本书的第7.5.3小节已经进行了介绍。但是其实现的功能有限。本小节将介绍一款功能强大的模板系统Smarty。 在提到Smarty时,就需要介绍一下MVC,其是一种软件设计模式,主要由Model、View、Control即模型、视图、控制器3部分组成。 简单的讲,模型就是用于处理数据的代码。而其产生的数据与视图无关,这就意味着,多个视图,可以使用一个模型提供的数据。 视图就是用户与之交互的界面,构建视图的技术有很多,例如:HTML、Flash、XHTML、XML/XSL、WML、CSS等。 控制器会根据用户的请求,调用相应的模型,然后使用相关的视图把数据展示组用户。 16.1.2 Smarty的安装与使用 Smarty在下载后,还需要对其进行进一步的配置才能使用,本小节将分步骤介绍Smarty的安装与通用安装过程。 (1)下载:Smarty的类库文件可以从其官方网站上取得,本书使用的Smarty版本的下载地址为:/distributions/Smarty-2.6.18.tar.gz。 (2)将下载后的文件进行解压缩操作,在解压缩后的文件夹中找到“libs”文件夹,把此文件夹中的文件,复制到要使用Smarty的PHP项目的文件夹下。例如:learn/smaty文件夹下。 (3)在PHP项目的文件夹下,创建3个文件夹,其名称分别为“templates”、“templates_c”、“config”。如果要在项目中使用Smarty的缓存功能,还需要额外创建一个名为“cache”的文件夹。在这些创建的文件夹中,需要确认普通用户也可以对文件夹内的内容进行读取操作。 (4)在项目中使用Smarty之前,需要在“templates”文件夹下,创建相应的模板文件, 16.2 需要分析 本节主要是针对内容管理系统进行需要分析。本章实现的内容管理系统,主要应用于网站构建,所以在需要分析时,应主要考虑网站前台、后台的功能需求。本书第15章中已经实现了用户管理项目,在本章中可以直接使用这一项目,用于网络管理员的密码与资料管理。 16.2.1 规划程序功能 内容管理系统的功能主要分为前台功能和后台功能。前台主要包括显示导航菜单、文章列表、文章内容等功能;后台主要包括管理员登录、导航菜单管理、文章管理等功能。在了解了项目功能后,开发人员就可以制定更好的开发计划,以及在开发过程中使用到的相关资源。 (1)在开发小型项目时,开发人员可以使用自定义的数据库访问类,而对于一些大型项目,和要求较高的项目时,可以使用更加稳定和强大的第三方类库,例如:ADODB。 (2)关于模板系统,可以使用简单的字符串替换函数来实现,但是当项目对模板的灵活性、运行速度有要求时,不需要重新开发模板系统,直接使用第三方的类库,例如:Smarty。 (3)关于发布内容,用户可以通过向文本框中输入内容,并存入数据库,这种方法只限于发布没有格式的信息,如果使用文本框发布带有格式的内容,对于用户来说是一种挑战。这种情况下,就可以考虑使用所见即所得的编辑器,例如:FCKEditor。 16.2.2 规划数据库 根据16.2.1小节中的需求分析,可以把项目中的数据分为3个表进行存储,即用户数据表、导航菜单数据表、文章数据表。 (1)用户数据表:用户数据表用于存储网站管理员的相关信息,主要包括用于后台登录的用户名与密码。本章将使用与第15章相同的表,存储管理员的登录信息。读者可以使用本书第15章实现的项目,创建网络管理员。 (2)导航菜单数据表:此表中存储的数据,在前台可以用于构建导航菜单,在后台也可以作为文章分类使用。导航菜单数据表的详细字段,如表15.1所示。 (3)文章数据表:文章数据表用于存储用户提交的内容,其详细字段设置, 16.3 页面设计与程序编码 内容管理系统不同于用户管理,其需要存储的数据较多,实际的功能也较复杂,在进行数据库设计时,要充分考虑到模块与表,表与表之间关系。 16.3.1 公用文件的编写与引用 在项目中要引用的类库包括:ADODB、Smarty,以及FCKEditor。在开始编写代码之前,把相关文件复制到指定目录,并进行相关设置后,等待编码时使用。本章需要重复使用内容
您可能关注的文档
最近下载
- DL∕T 5168-2023表A.5 分部工程质量控制资料核查记录.pdf VIP
- 大班数学活动《8的分解组成》PPT课件.ppt
- 【一模】2025年广东省2025届高三高考模拟测试 (一) 数学试卷(含官方答案及解析 ).docx
- 13S201 室外消火栓及消防水鹤安装.docx VIP
- 主题班会课件-师恩难忘-学子感恩-致敬恩师主题班会.ppt
- GB50327-2001住宅装饰装修工程施工规范.docx
- World怎么在参考文献后面添加CrossRef.pdf VIP
- 江苏省房屋建筑和市政基础设施工程标准施工招标文件(适用于资格后审).doc VIP
- 八下英语U3词性变化.docx
- 《机械原理》期末考试试题及答案.docx
文档评论(0)