首页 后端开发 php教程 PHP学习宝典-第二章

PHP学习宝典-第二章

Dec 23, 2016 am 09:33 AM
php学习

伺服端Web的Scripting语言

本章重点
·认识静态的动态Web网页
·用户端与伺服端Scripting语言的对比
·伺服端Scripting语言简介

本章重点在讨论服务器端Scripting语言本身,另外也谈及它与静态HTML和一般用户端技术之间的关系。在本章结束时,读者就能够清楚知道PHP能做什么、不能做什么、还能够对它与用户端原始如何进行交流有大致上的了解。

静态HTML

最基本的Web网页形式是完全以HTML编写纯静态、纯文字的页面。图2-1中的简单HTML页面就是一个例子。

伺服端Web的Scripting语言

本章重点
·认识静态的动态Web网页
·用户端与伺服端Scripting语言的对比
·伺服端Scripting语言简介

本章重点在讨论服务器端Scripting语言本身,另外也谈及它与静态HTML和一般用户端技术之间的关系。在本章结束时,读者就能够清楚知道PHP能做什么、不能做什么、还能够对它与用户端原始如何进行交流有大致上的了解。

静态HTML

最基本的Web网页形式是完全以HTML编写纯静态、纯文字的页面。图2-1中的简单HTML页面就是一个例子。

 

图2-1 静态HTML网页规范

以下为图2-1的原始码:

 

如图2-2所示,当用户端电脑透过Web或Intrantet从服务器做出对某个页面的HTTP请求时,服务器只需传递档案中找不到的纯文字。


当该资料送回用户端电脑,浏览器按照自己对原始码内容的精确解析、使用者的偏好选项、显示器大小以及其它因素做出最佳处理并呈现出来。服务器上HTML档案的内容与用户端电脑上页面的原始码完全相同。

你这样非常普通的静态HTML具有以下几种优点:

◆ 任何浏览器都有能力显示它。

◆大多数的设备都有有能力显示它。

◆它对每个请求都能迅速执行,并且只用最少的资源。

◆ HTML容易学习或自动产生。

◆ 对单独页面能够快速进行小更动。

◆ 当然,静态HTML也有不利的一面:

◆ 难以控制设计和版面配置。

◆ 无法扩充到大量的页面。

◆ 互动性不够好。

◆ 不易包含关于页面有意义metadata。

◆ 不容易应付内容或个人化资讯的迅速改变。

◆ 不很具有吸引力。


由于…只能算是「业余」水准或某种理想坚定的应用(此理想坚定如某些电脑科学专家所写的网页,而他们认为所有的网页应该遵守HTML3.1规格而且必须所有装置都能读取)。

针对这些限制,日前已经发展了很多种其它技术,其中包括用户端的JavaScript、Cascading Style Sheet(CSS)和Java applets,还包括伺服端资料库连接的伺服端scripting语言。正在发展中的技术尚包括XML和XSL,这两种技术都有是其它各种规格(XHTML、XSLT、XPath、ICE等)的一部分。

如果花些时间去了解这些技术有哪能些功能,以及是否能够加到自己的Web网站中,一定会减少往后让你头痛的机会。对于任何在手上的Web网站任务,第一步要先问自己的基本问题是:该运算(computation)在哪端执行,用户端还是伺服端?

「动态(dynamic)」的涵意在「静态」和「动态」Web网页之间有一个基本且重复差异,但「动态」几乎可以表示除普通HTML之外的所有一切。它既用来描述用户端功能,也用来描述伺服端功能。在用户端,「动态」可看成是多媒体展示、卷动的标题行、自动更新的页面或者时隐时现的元素……等。在伺服端,这个术语一般是用来指称正在空中传送并交互组合的内容。

用户端技术

对于普通HTML,最常见的内容新增是发生在用户端。包括以下方面:CSS和Dynamic HTML之类的格式扩充能、用户端scripting语言、Java applets和Flash。这些技术的支持方式是(大多数是有支持)内建在Web浏览中。表2-1列出它们的功能,其中有部分重叠。

表2-1 用户端HTML的扩充

 

图2-3所列示的页面范例与图2-1乃基于相同的内容。

 


正如从原始码中以看到的,这个例子新增了一些样式表、用户端scripting和一些比较复杂的HTML码。

 

 


很不幸地,用户端技术的最佳卖点也是最坏的特质:它们完全依赖于浏览器。每种浏览器的功能差别很大,即使同一个牌子出品的不同版本之间差别也很大。处每个人还可以选择以不同的方式配置自己的浏览器,例如,某些人们会因为安全的顾虑而禁止使用JavaScript,这样得他们不可能浏览那些过度使用 JavaScript进行导览处理的网站。(如果我们在先前范例所示的功能)

而且,许多使用者由于费用或技术不足的原因,在浏览器的升级工作方面效果级差。Web开发人员应该对基于设备的浏览、普通性和全球性用户等有所了解。无一例外,以大众市场为导向而设计的网站都试图取得最广泛的用户,例如,Yahoo!和Amazon在采纳了这些标准后,坚持不使用样式表和 JavaScript已经有三年多了。在W3C的压力下,许多网站仍固执地坚持使用FONT标记和BGCOLOR属性,他们的客户可能是那些在13时显示器的老旧Macintosh机器上使用AOL3.0的用户。更讽刺的是,即使Web在经历了五年快速发展之后,开发人员可以对客户提出绝对保证的仍只是让他们看到以纯文字为主的普通HTML而已。(或者甚至是HTML的子集合而且已经成功轻松经历过时间的考验)

最后,用户端技术不能做任何需要连接到后端服务器的工作。JavaScript不能根据储存在资料库中的使用者偏好选项即时产生自定义的下拉清单,当列表中需要做修改时,Web开发人员必须到该页面进行手动的修改(伺服端JavaScript,但目前用得不太多)对于此问题,伺服端JavaScript语言是可以填补此一鸿沟的救星。

总之,处理版面配置或浏览器事件的一切动作都发生在用户端上。一般来说,看上去很酷的效果或取决于鼠标移动的事情都是在用户端上。能够看到某事件显现的速度越快,它就越可能是由用户端处理的,因为速度快就代表了不需要从服务器进行下载。

注意:
Java applets,也称为「client-side Java(用户端Java)」,与用户端其它技术相比,它对浏览器的依赖比较少。正如其名称的暗示的,它们是透过Internet传递的完整小型Java 应用程序,但是它不像其它程序语言编写的应用程序那样,直接与用户端的作业系统互动,Java applets执行于称为JVM(Java Virtual Machine,Java虚拟主机)的中介软体上。JVM可看成是存在于真正作业系统之上的一个作业系统。大多数最新浏览器都会进入不敷出JVM,当然你也可以自己单独下载一个来用。这种工作上的区分使得applet在让浏览器发挥特别功能时,不会受到浏览器相对较弱的能力限制。

applet在早期被认为是无意义的小东西,因为它们最初只是用于实现一些简单的动书,如看上去像透明胶做的图示标志,会滚动的标题列,跳动的键结等。幸好,applet已经有了改变,也可用于一些很具人文意义的使用目的,诸如纵横字谜、汉诺塔仿真、试穿戴套装和饰物和虚拟方式等。


伺服端scripting语言

图2-4是服务器scripting资料流程的示意图。

用户端scripting语言非常有魅力,是非曲直Web开发中最抢眼的部分。伺服端程序设计则正好相反,它对用户来说是看不见而隐藏在后面的。伺服端 scripting的程序设计人员总是在后端的Web服务器的资料之间努力摸索,而在前端妹夫有艺术细胞的同仁们则可以在大众面前书情展示自己的作品。

伺服端Web的scripting语言主要是将W eb网站连接到后端服务器,诸如资料库,这就允许进行双向的交流沟通:


伺服端Web的scripting语言主要是将W eb网站连接到后端服务器,诸如资料库,这就允许进行双向的交流沟通:

◆ 服务器到用户端:Web网页可从后端服务器输出组合而成。

◆ 用户端到服务器:使用户端所输入的资讯得以发生作用。

 

常见的用户端到服务器交流沟通的例子是,在服务器上动态组合的线上表单和一些下拉式清单。(通常它需要你按下按钮)。

伺服端scripting语言产品有两个主要部分:scripting语言和scripting引擎(可能会内置在Web服务器中,也可能不会内置)。引擎部分都有是由同一个公司或团队开发的,只能互相配合使用(PHP3和ColdFusion就是这样的两个例子)。然而,这一规则也有例外,举例来说, Java Server Pages就是以标准程序语言编写的,而不是用于专门目的的scripting语言;有些配合厂商已经开发了几个可兼容互换的引擎(例如Allaire JRun 、Apache JServ)。

从理论上来说,Active Server Pagesb允许使用绝大多数与所有scripting语言以及几种相配的ActiveX的scripting引擎中的一种(然而在实务作业中,除 NT/IIS/VBScript/JScirpt的组合之外,其它组合的问题都非常多),由于PHP4的scriptingz引擎(Zend)目前在理论上是与PHP程序设计语言分离的,所以PHP4现在也算是一种分离式的独立scripting技术了。

图2.5列出了一个简单的伺服端scripting语言的范例,根据伺服端原始码和用户端原始码,从资料库即时产生一个页面。我们含括了资料库呼叫(在本书的Part II之前,目前先不进行细部讲解),并略掉了一些含括的档案,因为这个例子的目的是显示PHP的最终成品,而不是成为正式作业可执行的原始码使用

以下是服务器上的原始码

这是同一个页面在到达用户端时的原始码呈现形式:

 以上就是PHP学习宝典-第二章的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1252
24
如何学习PHP开发? 如何学习PHP开发? Jun 12, 2023 am 08:09 AM

随着互联网的发展,动态网页的需求越来越大。而PHP作为一种主流的编程语言,被广泛应用于Web开发中。那么,对于初学者来说,如何学习PHP开发呢?一、了解PHP的基础知识PHP是一种脚本语言,可以直接嵌入HTML代码中,通过Web服务器进行解析运行。因此,在学习PHP之前,可以先了解HTML、CSS、JavaScript等前端技术基础,以便更好地理解PHP的作

PHP学习笔记:模块化开发与代码复用 PHP学习笔记:模块化开发与代码复用 Oct 10, 2023 pm 12:58 PM

PHP学习笔记:模块化开发与代码复用引言:在软件开发中,模块化开发与代码复用是相当重要的概念。模块化开发可以将复杂的系统分解成可管理的小模块,提高开发效率和代码可维护性;而代码复用则可以减少冗余代码,提高代码的重用性。在PHP开发中,我们可以通过一些技术手段来实现模块化开发和代码复用。本篇文章将介绍一些常用的技术和具体代码示例,帮助读者更好地理解和应用这些概

PHP学习笔记:网络爬虫与数据采集 PHP学习笔记:网络爬虫与数据采集 Oct 08, 2023 pm 12:04 PM

PHP学习笔记:网络爬虫与数据采集引言:网络爬虫是一种自动从互联网上抓取数据的工具,它可以模拟人的行为,浏览网页并收集所需的数据。PHP作为一种流行的服务器端脚本语言,在网络爬虫和数据采集领域也发挥了重要的作用。本文将介绍如何使用PHP编写网络爬虫,并提供实际的代码示例。一、网络爬虫的基本原理网络爬虫的基本原理是通过发送HTTP请求,接收并解析服务器响应的H

PHP学习笔记:性能分析与调优 PHP学习笔记:性能分析与调优 Oct 08, 2023 pm 03:21 PM

PHP学习笔记:性能分析与调优引言:在Web开发中,性能是一个非常关键的因素。一个高性能的网站能够提供更好的用户体验,提高用户留存率,增加业务收入。而在PHP开发中,性能的优化是一个常见且重要的问题。本文将介绍PHP中性能分析与调优的方法,并提供具体的代码示例,帮助读者更好地理解和运用这些技巧。一、性能分析的工具Xdebug扩展Xdebug是一款功能强大的P

2023年,学习PHP的最佳途径是什么? 2023年,学习PHP的最佳途径是什么? Sep 10, 2023 pm 09:16 PM

2023年,学习PHP的最佳途径是什么?随着互联网的快速发展,计算机编程成为了一项具有极高就业前景的技能。而在众多的编程语言中,PHP是一门被广泛应用于网络开发的语言。想要学习PHP,了解最佳的学习途径是非常重要的。PHP是一种开源的、服务器端脚本语言,它被用于开发动态网站和应用程序。相比于其他语言,PHP具有较低的学习曲线和广泛的应用领域,使其成为初学者的

学习PHP中的视频特效和滤镜处理函数方法 学习PHP中的视频特效和滤镜处理函数方法 Aug 07, 2023 pm 11:53 PM

学习PHP中的视频特效和滤镜处理函数方法PHP是一种强大的编程语言,广泛应用于Web开发领域。随着网站设计的发展,视频特效和滤镜处理越来越受欢迎。本文将介绍如何使用PHP实现视频特效和滤镜处理,以及一些常用的函数方法。一、安装ffmpeg扩展要处理视频,我们需要安装ffmpeg扩展。通过该扩展,我们可以在PHP中直接调用ffmpeg命令进行视频处理。安装过程

PHP学习笔记:表单处理与数据验证 PHP学习笔记:表单处理与数据验证 Oct 09, 2023 am 08:52 AM

PHP学习笔记:表单处理与数据验证在网页开发中,表单是用户与网站进行交互的重要组件之一。当用户在网站上填写表单并提交数据时,网站需要对提交的数据进行处理和验证,确保数据的准确性和安全性。本文将介绍如何使用PHP来处理表单和进行数据验证,并提供具体的代码示例。表单提交和数据预处理在HTML中,我们需要使用&lt;form&gt;标签来创建一个表单,并指定表单的

PHP学习笔记:前后端分离与API设计 PHP学习笔记:前后端分离与API设计 Oct 08, 2023 am 09:42 AM

PHP学习笔记:前后端分离与API设计概述:随着互联网的不断发展和用户需求的不断增加,前后端分离的开发模式越来越受到开发者的重视。前后端分离是指将前端和后端的开发分离开来,通过API进行数据交互,实现开发的高效性和灵活性。本文将介绍前后端分离的概念,以及如何设计API。前后端分离的概念:传统的Web开发模式是前后端耦合的,即前端和后端的开发是在同一个项目中进

See all articles