PHP如何处理Web请求流程

PHP如何处理Web请求流程,第1张

进程是 *** 作系统分配资源和调度的功能单元,一个进程里面有一个或者多个线程,线程是 *** 作系统的一个独立运算单元。通常可以认为一个软件对应一个进程,并行是指多个软件一起运行,实际上分时复用而已,并发是指某个软件在运行的时候把计算分给多个CPU同时进行计算,是真正的同一时间内一起发生的事情。

PHP-fpm使用的就是多进程模型。

HHVM它选择的是多线程模型。

对于某个服务而言,譬如web服务,主要考虑它的并发能力,就是单位时间内能处理的请求数量。而并行计算就是为了提高并发能力的。脱离nginx或者apache来说,php的并行处理能力,既可以用多进程的模型来提高,也可以用多线程的模型来提高。最简单的情况下,php提供单进程单线程的方式来提供服务,每次之处理一个请求,如果请求的处理速度足够快,一秒时间内并发能力也可以算是强的,但是这样比较浪费资源,所以往往会根据CPU、内存、网络的情况来设置多进程、多线程或者多服务器来提高并发能力。

1 需求确定

通过各种方法确定系统的功能与性能。

功能:注册、登录、查询、搜索。。。

性能:可同时支持N个并发访问,并且响应时间不低于M毫秒。。。

方法:

会议

询问

头脑风暴

原型-界面原型、业务原型。。。

本阶段是项目开发的最重要的阶段。

在WEB项目中,通常界面设计会在本阶段进行。

2 分析与设计

1 架构分析与设计

逻辑结构:

3层架构、多层架构。。。

MVC。。。

Model1或Model2

。。。

物理架构:

web服务器的分布

数据库服务器的分布

。。。

技术解决方法的确定:

Java/net

Open Source/商业

。。。

2 业务逻辑分析

根据需求分析业务逻辑:

有哪些人使用本系统

他们会使用本系统做什么

通常他们使用本系统的步骤是怎么样的

会有哪些明显的类来支撑本系统的运行

会有哪些不同的提示会反馈给用户

。。。

本阶段与需求的确定密切相关,通常在确定需求的时候就会进行相关的分析。

3 业务逻辑设计

根据需求的分析来确定具体的类

确定类的属性

确定类的接口(方法)

确定类之间的关系

确定用户 *** 作流程在设计上的反映

进行数据库的设计

注意:不同的项目步骤可能不尽相同

4 界面设计

设计系统的界面风格:

颜色、style

设计系统的具体“模拟”界面:

能够从头到尾

方便进行需求的确定

方便JSP程序员进行开发

。。。

3 开发环境搭建

开发工具的确定:

eclipse、Myeclipse。。。

配置管理工具的确定

测试工具的确定

文件服务器/配置服务器等的确定

。。。

4 开发-测试-开发-测试

按照设计进行开发

迅速开发 原型

进行 迭代开发

提早进行测试:

单元测试

黑盒测试

白盒测试

性能测试

易用性测试

。。。

5 编写文档

在进行Web设计时--在设计过程中--形式应该服从功能。这种方法应用于我们站点的整个设计过程中。当然,我们有最新的Web工具,并且能够将各种可视的小配件上载到网页上。但是我们认为这样做将不利于为访问者提供有效的服务。

事实上,我经常发现一些站点未将重点放在功能上。常见的错误包括:

用户界面元素不一致。例如,同一个控件在不同的页面上功能不同,或者同一个功能对应几个用户界面控件。

导航栏位置不一致。决定站点的哪些页和功能需要在站点的任何页上都可被访问到。这就是应该保持一致性的“全局导航栏”。

不太注意或根本不注意基本的图形设计原则,例如排版式样、色彩和版面的设计。

相关元素和功能的随意分组。注意将元素放置在网页上的位置和目的。这可帮助访问者从其它相邻的选择和位置来推断某个链接的功能。

使网页过于庞大以至使访问者需要通过典型的调制解调器速度的Internet连接进行长时间的下载。这并不是说不应该使用图形,但是您需要对它们进行精挑细选,然后用适当的压缩和颜色索引优化它们。

现在的Web站点仍然存在很多问题,这并不奇怪。毕竟,Web设计“艺术”相对来说还是个新生事物。在四、五年以前,Web页甚至是普通的。那时,人们好像认为他们的Web站点将会吸引访问者只是因为它们存在--并且,可能在某些情况下这种方法确实有效。但是这些站点一般很难看,并且更重要的是,它们真的难以使用。接下来便进入“看看我们能做些什么”阶段,在网页中加入了大量的动画、声音文件以及其它附加件,导致访问者需要长时间地进行下载,但是并未获得多少实实在在的内容。

如今的Web设计师们已经吸取了前人的经验和教训。好的站点倾向于简化和快速,同时在功能上有所提高。这是Microsoft的目标,而且我们最先承认自己所犯的错误(参阅“Microsoft的Web简史”看一看以前的主页设计)。

设计错误并不总是显而易见的。有时在设计上对一个小元素的移动或更改将有很少或根本没有影响。但是,在其它情况下,它可能确实会对页面功能有所影响。而且如果说我们从过去几年学到了一些东西,那就是小的改动会使Web页的运行方式有很大的不同。

明确的流程

若要避免类似问题,我们为新服务(例如“搜索”)的创建或关键的Web页(如主页)设计了一个明确的流程。每个项目都是在一定的基础上开始的,即我们有一个受益于我们站点上的页面、部分或用户界面元素的产品或服务。在早期的产品计划阶段(第1阶段),我被要求设计一些初级模型:大致描述页面、部分或功能的草图。然后产品项目组检查产品计划建议,看看此项服务是否可以为microsoftcom的访问者真正带来一些实惠。

如果答案是“可以”,那么此项目会获得批准,我们开始写项目说明书(第2阶段)。我们在第1阶段的草图和概念基础上创建并提出一个更为完整的计划。这时,我们一般还会开始可用性测试(一般会有书面的模型)以了解潜在用户将对计划中的设计做出何种反应。在最后开发阶段(第3阶段),我们创建运行计划服务的Web原型,并且进行全面的可用性测试以及内部复查。然后完成站点的代码,修改程序错误,最后站点通过实际运转的Web站点向客户发布。

正如您所见到的,可用性在整个流程中扮演着重要的角色(参阅“创建有效的Web界面需要认真计划”)。我们可以为用户运行某项任务计时,这样我们就可以在产品以后的版本中对比相同的测试。我们可以使用这种方法进行度量,以确定一个功能的重新设计是否为客户带来任何真正的价值。

还有,我们将仔细地观察以了解可用性对象是否可以计算出如何正确使用新功能--我们称为“可发现性”的方法。有时这为我们提供了一些挑战。例如:在我们的站点上,在搜索引擎中键入一个词组或字会产生一列结果。然后我们请用户选择在这些结果中进行搜索,以便进行更细的搜索并且导向某一页或资源。但是即使“在结果范围内搜索”被明显地标记在深色标签上,很少有人熟悉它。一些用户认为他们正开始新的搜索,并且可能毫无结果。我们正在解决这个问题以确保客户可以利用microsoftcom上所有丰富的功能来提高他们对此站点的认识。

选项“在结果范围内搜索”看上去很直观,但不是非常易发现的。此问题一直是困扰我们的设计的问题之一。

最后阶段

大体来讲,站点设计是在发生冲突的需要之间求得平衡的艺术。一方面,我要将站点设计得尽量简单易用。另一方面,我要确保站点中所有强大的工具可为经验丰富的用户所用。与此同时,我还要为内部客户服务--Microsoft产品项目组--他们对服务有特殊的需要。所以每天我都要解决一些非常困难的问题,经常处于很紧迫的情形中。我发现这种工作是鼓舞人心和有趣的。

这个职业非常需要更熟练的专业人员。我是经过一系列非常不一般的过程--在大学学习图形艺术,然后在多媒体公司设计CD-ROM,最后加入Microsoft并开发应用程序--才获得这个职位的。非常奇怪的是,当我申请(并获得)这份工作时,我以前从来没有设计过Web页。但是我广泛的设计经历已经证明是非常有用的,并且我自认为已经验证了格言“成功的设计就是成功的设计”(不论是什么媒体)。许多设计问题对Web来说是独一无二的,解决这些问题的方法对于任何媒体都是一样的。

对于那些准Web设计师我的建议是,他们也应该尽可能地扩大设计背景。今天应该确保将一些Web工作作为互动设计培训的一部分--大多数好的设计学校已将其加入课程中。但是在排版、色彩理论、版面设计以及生产等方面的扎实的技术将仍然特别有价值。

在未来,Web设计师们仍将会继续被要求给页面增加更丰富的多媒体内容,从而为Web站点的可视性和可 *** 作性增加了新一级的复杂性和技术要求。作为CD-ROM/多媒体设计师,要求我必须具有图形设计、视频、音频制作、动画等方面的知识和创作能力。我的预言是,Web设计师也将向这些领域发展。

对于属于microsoftcom的我们--以及在Internet上的其它地方--那应该是一个非常有趣的未来。

了解您的观众。调查一下究竟哪些人在访问您的站点,以及他们为什么要访问。新手或不定期上网的Web用户与软件开发商相比有非常不同的兴趣和站点需要。

使您的站点对访问者来说有所帮助。

为您的观众提供所需的信息。使导航元素保持一致,并且确保对访问率最高的区域进行明显的标记,是它们易于被找到。

使用清楚的消息。

确保用户了解此页面的上下文,并且知道需要他们做些什么。如果在注册过程中您要用户输入姓名,那么就直截了当地说。不要让访问者自己计算什么,他们会感到沮丧,于是转到其它更简单的站点(例如您的竞争对手的站点!)。

保持一致性。1初始会商,主要是收集该站点的关键信息,包括站点的目标读者要发布的内容开发Web服务器平台;

2概念开发,设计师根据收集的信息,开始构思,通常,设计师要把这些构思用草图的形式呈现给顾客,这个草图要有整个网站的结构,不同的布局设计及导航;

3内容综合,当决定了设计师的设计,设计师开始制作一些初始图样,这些图样用PHOTOSHOP那样的程序来创建,然后,设计师将图样打印出来配合文字;

4HTML布局和导航,一旦客户同意了这些内容综合,设计师开始编制Web页面,导航器也被编制到页面中,使客户第一次真正体验一下;

5图形制作,如果客户同意了站点的外观和感受,设计师将大量制作所需的图形,并进行优化;

6内容流程,客户的书面材料利用各种网页技术(CSS、JAVA、FLASH),有机的和相关的图形整合在一起;

7测试,在站点被提交给客户之前,设计师要彻底测试每个Web页面和联结,利用清单,进行修补;

8交付,一旦签收,客户要经常进行他们的测试,找出排版和内容方面的错误,做完了这些次要的修正后,正式启用站点

这套完整的计划可以用1-12个月来完成,平均完成时间为4个月当站点启用后,要进行跟踪调查,以确定人们如何使用站点。经过6-12个月的运行之后,重新收集数据,开始重新设计,然后这个Web设计过程再开始一遍。

以上就是关于PHP如何处理Web请求流程全部的内容,包括:PHP如何处理Web请求流程、一个完整的web项目开发流程、网页Web设计流程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9664250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存