PHP开发环境搭建及网站制作

时间:2022-04-09 03:54:00

PHP开发环境搭建及网站制作

随着Web技术的发展,采用传统营销和网络营销相结合的方式已成为各类公司发展的必然选择。在网络营销中比较有效的手段是建立一个适合自己公司规模的网站[1-2]。目前网站开发的主流平台有LAMP(Linux操作系统、Apache网络服务器、MySQL数据库、PHP编程语言),J2EE和“.Net”商业软件。由于PHP、MYSQL具有免费、开源等多方面优点,因此受到整个IT界的关注。从网站的流量来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案[3]。

本文将结合一个职场咨询网站———卓企网的开发过程,对基于PHP与MYSQL数据库相结合的网站开发所涉及的开发环境,需求分析,功能模块,数据库操作与安全等进行分析与讨论。

1开发环境分析

1.1开发语言的选择

作为当今网站开发的3种主流语言:ASP.NET、PHP、JSP,它们存在的各自优点与不足如表1所示[4-5]。本项目确定以PHP为开发的语言环境的原因:

1)免费。因为项目较小不适合采用付费的ASP.NET和JSP的开发平台。

2)支持性强。中国现在很多中小型网站甚至一些大型网站,如百度、新浪等都加入了PHP的大家庭,从而能更简单地解决开发过程中遇到的各种难题。

3)移植性好。尽管最初是被设计用于基于Linux的ApacheWeb服务器系统,但现在的PHP已经被移植到了任何操作系统并兼容任何标准Web服务器软件,即绝大部分的Web主机提供商都会支持PHP,因此根据需要更改主机将会非常方便。

4)语言简单。由于PHP同C编程语言有很多相似之处,对于熟悉相关语法的开发人员来说,PHP则非常容易上手。

5)发展迅速。由于是开放源代码产品,PHP将继续快速发展,更为重要的是相关漏洞补丁将免费地定期植入到核心库中。此外还有PHP实现对加密的支持以及对各种数据库服务器的支持等。

1.2开发环境搭建

目前,基于PHP的开发平台较多。一般开发人员喜欢LAMP的开发环境,有一定开发经验的人可以选择相关的服务器、数据库、数据库管理软件和操作系统来构建自己的PHP开发平台。为了便于开发人员更好地利用PHP来开发网站,市场上也出现了多种集成的PHP开发环境,如AMPS-erv,WAMP,XMAPP,AppServ,PHPStudy。目前主流的是ZendStudioPHP集成开发环境。ZendStudio包括了PHP开发所有必须的部件,通过一整套编辑、调试、分析、优化和数据库工具。ZendStudio缩短了开发周期,简化了复杂的应用方案,已经成为目前最强大的PHP集成开发环境。ZendStudio的强大之处,除了一般编辑器所具有的代码高亮、语法自动缩进、书签功能外,其内置的调试器可以支持本地和远程(debugserv-er)2种调试模式,支持诸如跟踪变量、单步运行、断点、堆栈信息、函数调用、查看实时输出等多种高级调试功能。另外,最新版(ZendStudio5.5.1)对中文的支持也是非常稳定的[6]。

1.3环境搭建注意事项

对于对PHP开发环境不甚了解的开发人员建议不要自己搭配开发环境,各软件的版本之间支持性不一样有可能会造成版本冲突,而且复杂的配置问题也很难解决。此外在正式开发之前还应注意如下问题。

1)PHP语言版本问题。开发前,必须确定要使用的版本和服务器所支持的版本是否一致。现在主要存在2种版本:PHP4和PHP5。不同版本对SESSION、异常处理、函数、变量有效范围和支持的数据类型等都有不同。前期若不注意这些问题会给后期的开发带来很多不必要的麻烦与不安全。

2)服务器问题。Windows平台上,用PHP写的程序要求是部署在apache服务器上。如果部署在IIS上,可能由于IIS对PHP支持不是很好,经常出现一些莫名其妙的问题。并且IIS使用中,有些设置必须要手工修改。比如上传文件时,需要设置可写权限,还要重新设置上传文件大小,比较烦琐。而使用apache服务器则不存在这些问题。

3)数据库问题。PHP可以使用的数据库管理系统有MySQL、ORACLE等。MySQL由于开源、免费、小巧、高效而受到开发人员一致的青睐。对于中、小型应用系统,MySQL是一款非常理想的数据库服务器软件。除了支持标准的ANSISQL语句外,它还支持多种平台。在Unix/Linux系统上,MySQL也支持多线程运行方式。和PHP、Apache一样,MySQL也属于开放源代码软件。MySQL对其提供权限访问、建立、删除等一系列支持,使之成为中小型PHP网站的首选。

2基于PHP语言的开发模型

PHP语言以其免费、开源等多方面优点,逐步成为中小型企业网站开发语言的首选。具体开发步骤如下:

2.1需求分析

一个网站项目的确立是建立在各种各样的需求上面的,这种需求往往来自于客户的实际需求或者出于公司自身发展的需要,其中客户的实际需求占了绝大部分。面对网站开发拥有不同知识层面的客户,项目负责人对用户需求的理解程度,在很大程度上决定了此类网站开发项目的成败,因此,如何更好地的了解、分析、明确用户需求,并且能够准确、清晰以文档的形式表达给参与项目开发的每个成员,保证开发过程按照满足用户需求为目的正确项目开发方向进行,是每个网站开发项目管理者需要面对的问题。除了基本的用户需求分析要点(模块、流程、带宽、最大同时访问量等)外,需求分析还需要注意以下问题:①需求分析来自项目接收方的负责人或由其确定或认可;②需求最好以文件方式确定下来;③与需求方进行深入有效的分析与讨论,告知其需求的可行性和代价。

2.2功能模块设计

根据需求得出的需求报告在与客户进行讨论之后得到的双方都认可的确定稿之后,网站的开发人员根据高内聚低耦合的思想结合相关的知识与经验结合成若干大模块。

2.3数据库设计与实施

包含需求分析、概念设计、逻辑设计、物理设计、系统实施、运行与维护等多个阶段。在数据库设计与实施的各个环节应注意以下问题:网站数据库是网站的核心,数据安全性至关重要。数据损坏、丢失、被非法复制都会引起很多不必要的麻烦,而且有时会带来非常大的不良影响与损失,甚至触犯他人的合法利益,且造成的错误很难恢复。MYSQL数据库采取以下安全措施[7]:

1)账户安全。MySQL每一账户都由用户名、密码以及位置(一般由服务器名、IP或通配符)组成,其包括合理权限和安全检查。合理权限的目的就是通过给不同类型的账户赋予不同的权限,给同一用户不同数据库或数据表以不同权限来实现在保证数据库安全的前提下进行合理的授权。MySQL数据库主要使用3种不同类型的安全检查:登录验证、授权、访问控制。

2)存储数据加密[8]。在应用程序的大量信息中,也许你只想对很小的一部分进行加密,如用户的密码等。这些密码不应该以明文的形式保存,它们应该以加密的形式保存在数据库中。一般情况下,大多数系统(这其中包括MySQL本身)都是使用哈希算法对敏感数据进行加密的。

3)数据库字符集与编码[9]。安装的Web服务器软件,例如Apache,默认的编码都不是UTF-8。当从以UTF-8编码的页面中的表单输入数据时,前台浏览正常,在phpMyAdmin里查看时,中文则变成乱码。解决办法可以将MySQL的默认编码改成UTF-8或连接数据库时指定数据的编码(mysqli_query($dbc,“SETNAMES‘UTF8’”),就可以告知MySQL采用UTF-8编码传输数据了[10]。

4)功能模块实现。功能模块实现的要求:尽量少的代码,尽量详尽的注释,尽量工整的书写形式。功能模块实现的目标为:高复用性、高可靠性、高效率、高安全性、高可读性等。

3实例

以PHP语言为基础,开发了职场咨询网站———卓企网。卓企网主要包括检索模块、专家咨询模块、维护模块、会员互动模块、问题讨论模块、文档浏览模块、登陆注册模块、帮助模块和其他辅助模块等九大模块,如图1所示。

图1卓企网包括的模块

每一个大模块包括一些功能模块,如在卓企网的会员互动模块中,包括留言、显示留言、删除留言等。实现“留言”模块的前台代码如图2所示,与之对应的后台处理代码如图3所示。

图2“留言”模块的前台处理代码

图3“留言”模块的后台处理代码

具体的流程是用户在留言窗口(如图4)留言并点击提交后页面将相关数据传送至后台处理页面,后台处理代码调用用户的session值查找对应的身份信息后将留言插入数据库,待正确无误后跳转回留言页面并刷新留言板,从而用户可以马上就看到自己的留言(图5)。

由于PHP语言的免费、开源、高可靠性、可移植性,并且可与MYSQL数据库、Apache服务器完美结合,逐步已经成为当今网站的主流。