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

PHP学习宝典-第四章

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

将PHP嵌入HTML

本章重点

◆ 转入PHP模式

◆ 选择PHP的卷标样式

◆ 使用PHP编写第一个程序「Hello World」

◆ 档案含括的档案请求

经过前面几章的初步介绍,相信你现在就可以一始编写PHP的script了。在本章中我们将进一步了解PHP模式,PHP卷标以及其它相关档案的含括(include)和请求(require)。读者将从这里编写第一个简单的PHP程序。

HTMK与PHP完成兼容

PHP可以和HTML完全地混合运用,实际上PHP通常是必须嵌入在HTML内使用的。你稍后会看到,PHP能够使用HTML标准中一些灵活的语法,例如窗体(form),来处理许多相当好用的性质。

在客户端与HTML兼容的所有一切同样子也和PHP兼容。PHP不会理会其它的JavaScript 程序代码、对音乐和动书的呼叫、apples或客户端上的其它一切。PHP都会忽略它们,这部份会由Web服务器把它们传递到客户端。

其实读者你可以使用任何方法开发Web网页,然后再把PHP程序代码加上去。如果你已习惯是用小组团队的方式工作,并使用大型多媒体绘图套件来开发每个页面,如果你愿意,同样也可以继续延用这种方式。从实用的观点来看,你无须改变工具或工作流程,就按照以往一直使用的方式继续下去,在最后再添加伺服端功能即可。

跳出HTML模式

我们要怎样在HTML中标示出PHP的区段呢?其实透过在每个PHP区段的启始和结尾时使用特殊的PHP标签,就能够做到这一点要求。这个过程就称为「跳出HTML(escaping from HTML)」或是所谓的「跳进PHP(escaping into PHP)」。

我们不是为了要使你混淆,这里的跳(escpae)与一般PHP所使用的eacape不同,那些是在字符串内特殊字符(例如tab或是换行字符)之前使用反斜线的用法。

在这两个PHP标签之间的所有内容都会藉由PHP解析器识别理解为PHP程序代码。这两个标签之外的所有内容就与服务器无关了,就会直接传给客户端,由客户端弄清楚它是HTML、JavaScript或是其它什么内容。

PHP标签有四种类型,在使用它们时分别有不同的原。不过其中一些是因为个人的喜好问题、或者是因为程序设计师用什么会感到比较舒服的问题,或上一个团队自己决定要使用的设定。

标准的PHP标签

最常使用的PHP标签如下:

 
如果使用这种格式,就可发十分肯定所用的标签能够被正确地直译。除百非有很好的理由才去选取用其它的写法格式,否则最好就这种标准写法。其它任何PHP tag写法可能在未来都会被取消,这是唯一被认为安全的写法。

简短起始(SGML格式)标签

简短起始标签如下所示:

 

这是最简单的表示方式。由于这种方式的输入次数较少,会吸引那些在每个script中频繁切换进出HTML的使用者,然而使用这种短标签也是要付出代价的,必须做到下面的三种方式之一来让PHP识别该标签:

1. 在建构PHP时,要记得选择「--enable-short-tags」的设置选项。

2. 在php.ini档案中启用short_open_tag设置。但是在使用这个选项时,必须禁止XML和PHP一并使用,这是因为XML的tag也是使用这种语法。

还有一种可以用来使用简短语法的方式:使用short_open()函式,但是这种用法在PHP 4以后已不再提供使用。

有许多是不要使用简短卷标语法的原因,最主要的原因就是此种语法与XML不兼容,又因为XHTML也是一种XML?,所以将使得你的PHP程序将无法使用在XHTML档案内。使用简短卷标的PHP程序是比较不空易视觉上的辨识出来,许多程序代码颜色强调的工具并不会支持这种语法,入门的设计者应该在所有可能的地方使用标准的卷标语法。

简短村签过去是许多设计高手习惯以为常用来使用PHP的方式,如今PHP开发团队努力平衡于得供众多使用者安装方式的标准与一致性语法,虽然过去已经有大量的程序代码使用旧式语法,但因为XML已经变成Web开发越来越中心的技术,简短标签将会在未来淡化,所以你必须给自己一个方便马上使用标准的语法。

如果你已经养好习惯要避免使用简短标签格式,记得在你的php.ini档案中取消它,你会在你忘记使用标准格式的地方响应一个错误讯息。

ASP格式的标签

ASP格式的卷标是Microsoft Active Server Pages用来隐藏程序段落和卷标,ASP格式的卷标如下所示:

 

使用FrontPage做为开发工具的使用者最常选择这种格式。如果要使用这种ASP格式的标签,必须在php.ini档案中设定配置该选项。很显然地,如果你使用ASP写法格式的标签和以「.asp 」为扩展名(之前便工作于ASP网站的人可能希望如此),则需要在IIS服务器上先把ASP功能关掉,否则两种程序引擎都会尝试解析相同程序段落而产生不可预期的结果。

HTML的script标签

这种标签的写法如下所示:

 
虽然这样很有效率,并且也以能够回避FrontPage的问题,但在某些情况下还是会很麻烦,例如在迅速蹦现(php-in)变数的替换上就会遇到麻烦。尤其是,如果在网站上使用了很多JavaScript,一定要更加小心,因为结束script的标签很容易造成两种意义的混淆。HTML的script标签最适合用于PHP程序代码区别很大的时候。

第一支程序「Hello World」

现在我们准备编写第一个PHP程序。先在自己喜欢使用的编辑器中打开一个新档案,键入以下内容:

141.jpg

在大多数浏览器中,除了PHP这部分,其它内容都不是很需要的。然而还是应该养成使用标准HTML结构一嵌入PHP的好习惯。

如果看不到非常类似图4-1所示的输出,那就是有问题了,很可能是某种安装或设定上出也问题。

142.jpg

回顾第三章的内容即可以了解安癍上的说明,向后翻阅到第三十七章可以找到相关的设定与配置选项。另外在第十五章中分析了一些常见的问题并不提供错误问题相关信息。

进出PHP模式

在PHP的script内任一时刻,你可能是处于PHP模式之中,划是处于PHP模式之外的HTML内。这里没有其它中间的状态,PHP标签内的所有内容就是PHP程序代码,标签外的所有内容都有是普通HTML内容。

可以依自己高兴使用PHP卷标随时转入PHP模式,例如:

143.jpg

请注意在第一个PHP模式实例下发生的情况,这里有个数指定了值,到了第二段PHP程序代码该指定仍属有效。在下一章中你会学到更多进出PHP模式时变量的相关使用情况。在第十四章还会学到使用PHP模式的不同型式风格。

档案含括(include)

把PHP加到HTML中的另一种方法是把PHP程序代码放入单独的档案,然后使用PHP的include 函式呼叫它。共有四种相关的含括函式:

144.jpg

先在前版本的PHP内,include与require函式和功能与速度有显着的差异,这将不再成立,这两类函式只有在错误所时丢出错误讯息的类型不同, include()函式与include_once()函式只会在错误时发出警告,但是require()函式与require_once()函式会发出严重错误而中断程序。

如同函式的命名所提及的,include_once()和require_once()与名称只有include()和require()不同的地方在于它们只会允许每个PHP程序中只含括一次该档案,这在你含括内含PHP函式的档案时是极度有用的。因为重新定义函式将会自动导致严重错误。在大型PHP系统内,常常需要含括一些本身也有含括其它档案的档案,但是要追踪你之前是否已经含括过某特定档案是困难的,但是一但使用include_once()或是 require_once()则不需要如此。

你要如何决定是否使用include()函式呢?基本是你必须决定是否坚持自己撰写好的程序来避免严重错误的痛苦,或是在你的程序中即使出现常见错误仍无访,最严重的方式就是使用require(),它会在你的程序不完善时马是中断程序,最不严谨的就是include_once(),它会自然隐藏你的一些坏的程序习惯。

最常见的PHP include功能就是在网站的所有网页加入首页与页尾。

例如现在有一个简单的页首档案(称为header.inc)如下所示:

145.jpg

显然的,这样单一改变简化了整个网站的维护与规模,现在如果你要使用不同的视觉呈现或是如果你要更新版权说明的话,你只要更改一个档案而不需要更改好几个HTML网页的相同程序片断。

当你要含括档案时,记得在你php.ini档案内的inculde_path指令设定正确,只要藉由使用正确的指令你可以含括来自网站上层次或你的Web结构之外网站的档案,请参阅第37章更详细说明。

如同你可以在上述程序所见一样,PHP的include()函式只会所含括的档案以文字的方式传送,许多人以为由于include()函式是在PHP模式内使用的,所以含括进的部分也会属于PHP模式,这并不是真的,事实上服务器会在含括档案一开始跳回HTML模式,并在含括档案结束后悄悄返回PHP模式,并马上与分号结合。

你永远都要在想要使用PHP程序时使用PHP的起始与结束标签,任何被含括的档案若想要以PHP执行的话都必须加入合法的标签,如果整个档案都属于PHP部分(常见于使用函式的档案),整个档案都必须以PHP标签包住。

现在我们来看底下档案,database.inc:

146.jpg

我们无法充分在此弹调:如果你在含括PHP档案发生问题时,尤其是如果你所看见的结果并非预期或是看不见应该看到的部分时,请绝对小心在你有含括档案内前后都有加上PHP标签。

如果你愚蠢的只将上述片段的档案含括进PHP程序的话,你会看到此数据库变量会变成文字显示在页面上,因为你忽略了使用PHP标签,解析器以为这个段落是HTML,正确database.inc的写法应该如下所示:

147.jpg

对于所有含括其它档案,你必须确保在最后一行没有使用换行,记住任何PHP之外的部分都被看成HTML部分,甚至一个空白行也是如此,PHP标签之外的空白行或是空格符将会被输出,如果你在不能使用输出的时候含括了这个档案,例如在使用HTTP header之前,你的程序会出现一个大大关于输出串流已经在含括档案内使用的错误讯息,请参阅第15章更详细的部分。

摘要

PHP很容易嵌入到HTML中,你可以使用任何一种自己习惯使用的HTML产生方法,然后再添加PHP程序代码区段到其中。加上的PHP程序代码区段可以是只有一点点的注解单一数字,也可以是很长很长的程序代码区段。

每个PHP区块,无论长短都要有PHP标签。虽然本章介绍了几种写法格式的PHP标签,但初学者应该还是要使用标准规范的那一种标签写法。你还可以使用 include()或require()函式,在档案中将PHP档案含括入内,但被含括档案的内容只有围在PHP标签内时才会被识别为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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
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)

如何学习PHP开发? 如何学习PHP开发? Jun 12, 2023 am 08:09 AM

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

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

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

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

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

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学习笔记:表单处理与数据验证 Oct 09, 2023 am 08:52 AM

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

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

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

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

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

See all articles