浅谈PHP的WEB开发技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-浅谈PHP的WEB开发技术摘要WorldWideWeb(简称Web)是随着Internet的普及使用而发展起来的一门技术,它能把文本、图像、声音、动画、视像等多种媒体信息集于一体,而且使信息的浏览更为方便,因此许多企业纷纷建设自己的网站以增强企业知名度.PHP是一种跨平台的服务器语言,它的易用性,使得它得到了很多Web开发者的亲睐。本篇论文是对基于PHP语言的Web开发技术的一点论述,主要论述了PHP、MYSQL、开源框架、数据库的缓存技术在Web开发过程中用处,以及在过程中所遇到的要点、难点等。关键字:PHP、MYSQL、Smarty、JavascriptAbstractWorldWideWeb(hereinafterreferredtoastheWeb)isalongwiththepopularityofInternetuseanddevelopedtoatechnology,itcanputthetext,image,sound,animation,videoandsoonmanykindsofmediainformationcollectioninanorganicwhole,andmakeinformationbrowsingmoreconvenient,somanybusinesseshavetobuildtheirownWebsitetostrengthentheenterprisenamerecognition.PHPisacross-platformserverlanguage,It’seaseofuse,andmakeitgotalotofWebdevelopersinthepro-gaze.ThispaperisbasedontheWebforphplanguagedevelopmenttechnologypointdiscusses,thispaperdiscussesmainlythePHP,MYSQL,opensourceframework,thedatabasecachingtechnologyinWebdevelopmentintheprocessofuse,andintheprocessofthemainpointofthemeeting,difficulties…Keyword:PHP;MYSQL;Smarty;Javascript-2-目录1.绪论………………………………………………………………………………11.1Web开发环境………………………………………………………………11.1.1开发环境的选择…………………………………………………11.2开发工具……………………………………………………………………11.2.1AdobeDreamweaverCS5………………………………………11.2.2ZendStudio………………………………………………………22.MySQL数据库……………………………………………………………22.1存储引擎……………………………………………………………………22.1.1MyISAM………………………………………………………………22.1.2InnoDB………………………………………………………………32.1.3MEMORY………………………………………………………………32.1.4MERGE…………………………………………………………………32.1.5ARCHIVE………………………………………………………………32.1.6CSV……………………………………………………………………32.2数据类型和属性……………………………………………………………32.3管理员数据表实例设计…………………………………………………33.Smarty模板引擎…………………………………………………………53.1Smarty的介绍………………………………………………………………53.1.1Smarty的优点……………………………………………………53.1.2Smarty模板引擎运作流程………………………………………63.2Smarty的配置………………………………………………………………63.3使用Smarty…………………………………………………………………73.4Smarty的表现逻辑………………………………………………………93.4.1注释…………………………………………………………………93.4.2变量修饰符…………………………………………………………93.4.3控制结构……………………………………………………………93.5Smarty缓存…………………………………………………………………113.5.1Smarty的缓存配置………………………………………………114.Javascript+CSS……………………………………………………………124.1Javascript在网页设计中的应用……………………………………124.2CSS+HTML的结合设计网页……………………………………………13-3-4.2.1什么是CSS…………………………………………………………134.2.2CSS与HTML的结合方式………………………………………144.2.3CSS在网络中的应用实例………………………………………145.WEB的安全性…………………………………………………………155.1防止SQL注入………………………………………………………………155.2防止跨站脚本攻击………………………………………………………15-1-1.绪论Web技术的发展Internet起源于20世纪60年代末、70年代初,起初Web上的网页都是单纯的HTML静态页面,大量的HTML文件使得Web信息的管理、更新、查询变得越来越低效,随着Web上信息量的不断增加,对Web表现形式和开发技术提出了更高的要求。为更有效的管理和维护网上的庞大信息资源,人们最初使用与数据库连接的CGI(CommonGatewayInterface公共网关接口)技术作为Web的后台程序,利用Perl或C/C++等高级语言来实现CGI连接,这虽说能满足一定的交互要求,但开发难度高,数据库连接功能弱,可移植性较差,极大地阻碍了CGI程序的应用和发展。PHP(PersonalHomePage)的问世,极大地简化了以往应用程序与数据库之间连接的繁琐过程,大大降低了“动态网站”的开发门槛,在一定意义上促使此类语言的崛起和迅猛发展。Microsoft的ASP一度曾被许多大型网站所采用,但和微软的其它产品一样,ASP只能在WIN32平台上运行,并且安全性较低,从而使ASP的进一步应用受到限制。而PHP作为一种运行的服务器端的嵌入式脚本技术(工作方式类似于微软的ASP),是根据用户请求或服务器端的数据生动态网页。它公开原代码,其独特的语法混合了C、Java、Perl以及PHP式的新语法,编程灵活,易于上手。选择PHP作为Web开发技术意味着在不同的操作系统平台、数据库系统等方面有更多的选择权。1.1开发环境1.1.1开发环境的选择平台:Window服务器:Apache数据库:MySQL开发语言:PHP1.2开发工具正所谓“工欲善其事,必先利其器”,针对PHP的功能完备的开发具,如今已经有许多此类开源以及商业的工具可供选择。1.2.1AdobeDreamweaverCS5AdobeDreamweaverCS5是公认的Web设计人员必备的一个工具,利用它开发人员能够以WYSIWYG(What-You-See-Is-What-You-Get,所见即所得)的方式创建网页。它还提供了大量方便的特性帮助PHP开发人员更有效地编写代码(这包括语法突出显示和代码自动完成)并轻松地保存和重用代码段。-2-1.2.2ZendStudioZendStudio是业界公认的所有商业以及开源产品中功能最强大的PHPIDE(集成开发环境)。作为Zend技术有限公司所推出的旗舰产品,ZendStudio提供了你所能想到的企业级IDE的所有特性,包括完善的代码自动完成功能、CVS和Subversion集成、内部和远程测试、代码调整以及方便的代码部署过程。另外,ZendStudio提供了将代码与流行数据库(如MySQL、Oracle和SQLite)集成的功能,还能够执行SQL查询,并查看和管理数据库模式与数据。2.MySQL数据库MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。使用PHP+MySQL+Apache也是现在很多网站选择的一种方案。2.1存储引擎在设计数据库时,除非是操作非常简单的数据库,不然就得事先充分考虑数据库中每个表的作用和行为,并相应地选择适当的存储引擎。从长远意义上看,这对应用程序的性能有很大的提高。所以,在WEB开发中很有必要对几个常用的存储引擎进行一定的了解。2.1.1MyISAMMyISAM是Mysql的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务,从而避免事务性存储引擎所需的额外开销。它在筛选大量数据时非常迅速,甚至在高流量环境中也是如此。并发插入特性允许同时选择和插入数据。所以MyISAM存储引擎特别适合应用于选择和插入密集的表,例如:管理邮件或Web服务器日志数据。MyISAM格式有三种形式——静态、动态和压缩。静态:如果所有表列的大小都是静态的(即不适用xBLOB、xTEXT或VARCHAR数据类型),MySQL会自动使用静态MyISAM格式。动态:如果有表列(即使只有一列)被定义为动态的(使用xBLOB、xTEXT或VARCHAR),MySQL会自动使用动态MyISAM格式。压缩:如果表在整个应用程序生命周期中都只读的,用压缩表来减少所占空间。-3-2.1.2InnoDBInnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定和外键约束。InnoDB表资源使用专用缓冲区管理,此缓冲区可以像其他任何MySQL配置参数一样进行控制。所以InnoDB存储引擎特别适合更新密集的表、事务、自动灾害恢复。2.1.3MEMORYMemory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失。2.1.4MERGEMerge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用。2.1.5ARCHIVEARCHIVE存储引擎使用zlib压缩库大大压缩了此类型表中的数据,在记录被请求时会实时进行解压。它除了选择记录,还可以插入数据,这在把旧数据移植到ARCHIVE表中时是很有必要的。但是,不允许删除或更新存储在这些表中的数据。Archive非常适合存储大量的、独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但存储在ARCHIVE表中的任何数据都不会有索引,这意味着SELECT操作效率就很低。2.1.6CSVCSV存储引擎以一种逗号分隔的格式存储表数据,访问和操作CSV表与访问其他任何表类型一样,但CSV表实际上是文本文件。可以通过MySQL指定数据文件夹中的相应数据文件(带.cvs扩展名)复制现有的CSV文件。此外,由于CSV文件的特殊格式,不可能利用诸如索引等典型的数据库特性。2.2数据类型和属性MySQL表每个列中的数据实行严格的控制,只是数据驱动应用程序成功的关键。MySQL本身就提供了一组可以赋给表中各个列的数据类型。每个类型都强制数据满足为该数据类型预先确定的

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功