一、开发背景及意义在当今社会,网络已经非常普及,一般的用户家庭都已装上了宽带互联网,通过鼠标键盘就可以从网上获得所需要的信息,在此,企业的信息及该企业的产品的信息,如产品的外表,性能等这些信息也都是用户所需要获得的。企业为了更方便的开展业务,服务用户。那么它就必须有一个这样的一个和用户交互的界面。这个界面就是基于Web的企业门户网站。企业可以在该系统上发布企业动态、商品信息、合作伙伴等等一些可以公开的信息;而用户则可以在这个平台上查看他们所需要的商品的信息、该企业信息,并且如果看中满意的商品可以在线下联系公司,选择商品支付及配送方式;企业又可以根据用户提交的信息来充分的满足用户的需要。而传统的企业与用户间的交互方式都是通过直接的面谈,或者电话、信件等方式进行的,有很大的时间、空间限制。企业网站也极大提高了商务活动的效益和效率,拉近了商家和客户的距离二、技术路线:(一)使用PHP和MySQL+Windows进行程序设计开发和数据库设计在Web应用系统中,前台的动态Web页面必须有后台的数据库支持才能完成功能,而MySQL是PHP的最好伙伴。在实际的PHP+MySQL的Web系统中,用户和系统一次典型的交互过程。首先,当用户通过浏览器使用Web系统时,浏览器接收用户的请求,并通过Internet传送到PHP服务器;然后,PHP服务器分析用户的请求,并通过数据库接口函数向后台数据库管理系统发送SQL查询语句;最后,MySQL接收到SQL语句,执行相应的操作。反过来,MySQL执行SQL查询语句后,将查询结果数据发送到PHP服务器;后者在对结果集进行相应的处理后,将其传递给前台的浏览器把数据按一定形式显示给用户。这就是典型的PHP+MySQLWeb系统的体系模式。(二)使用Apache服务器本系统的运行平台是Apache,它是众多的服务器软件中的一种,已经成为目前应用较广行的服务器软件之一。它支持多种操作系统,如Unix,Linux,Windows等,功能强大。Apache服务器同IIS,Tomcat服务器相比,具有很大优势:首先,Apache服务器是开源的,不需要支付任何费用就可以免费下载并使用;其次,Apache服务器改善了IIS易假死的毛病,配置完成后非常稳定;最后,由于Apache开源的特点,所以任何人都可以分析他的代码,发现其中的漏洞,并发布补丁来弥补该漏洞,也使其安全性大大提高了。总之,Apache与其它服务器软件相比,具有安装方便,配置简单,效率高,便于管理,安全性高等优点。(三)采用B/S的结构设计B/S结构,即Browser/Server(浏览器/服务器)结构,客户机上只要安装一个浏览器,服务器安装数据库。浏览器通过WebServer同数据库进行数据交互。B/S结构,主要是利用了不断成熟的浏览器技术,结合浏览器的多种Script语言和Activex技术,用通用浏览器就实现了原来需要复杂专用软件刁-能实现的强大功能,是一种全新的软件系统构造技术。(四)采用Codeigniter的MVC框架编程。CodeIgniter是基于模型-视图-控制器这一设计模式的。MVC是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从PHP脚本中分离了出来,所以它允许你的网页中只包含很少的脚本。模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在CodeIgniter中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个RSS页面,或任何其它类型的“页面”。控制器(Controller)是模型、视图以及其他任何处理HTTP请求所必须的资源之间的中介,并生成网页。CodeIgniter在MVC使用上非常宽松,因此模型不是必需的。如果你不需要使用这种分离方式,或是发觉维护模型比你想象中的复杂很多,你可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。CodeIgniter也可以和你现有的脚本合并使用,或者允许自行开发此系统的核心库,其目的是,使你可以以最适合你的方式工作。三、功能模块设计企业门户网站前台功能后台功能产品展示新闻列表公司简介留言板公告管理联系方式管理产品管理链接管理留言管理简介管理管理员管理图1功能模块设计图四、数据库概念结构设计图2各表与各字段图五、系统调试与运行(一)环境配置与网站建设系统调试与运行环境配置:Windows+Apache+Mysql+phpMyAdmin,安装了windows操作系统的计算机,配备APMserv搭建的平台,同时还应该有phpMyAdmin的支持。在使用系统前,首先启动APMserv5.2.6,自动启动Apache和MySQL,然后进入phpMyAdmin,进行常规配置。这样,web程序的运行环境就已经建立完成了,也保证了网站系统稳定的运行。再在ZendStudio新建并导入ci框架,并进行开发。二)项目展示图图3前台展示图:图4后台展示图六、总结与心得这个项目基于CI框架,这个框架自己以前也用过,但是对CI的认识还是不够彻底,虽然会用,但是对业务上各个模块的划分,各个模型的通信与模块的解耦还是把握的不够,不能做到最大程度的灵活性,依然是为了MVC而MVC,只是因为用框架要遵循MVC的模式才三层分离,而实际上并没有真正做好模型的重用,对于模型层和控制器层的各个变量方法的命名什么的也都非常不规范,想到哪用到哪,风格也不统一,这也许就是自己修炼的问题了,需要重构,在重构中成长,学习优秀的代码,学习优秀的设计,学习优秀的命名方式与模块划分方法,在写的过程中体会自己的弱点并不断改进,这也许就是所谓的“自己的修炼没有到一定的程度,业务还没有复杂到一定程度,是不会体会到CI的好处”。