| 书名: | PHP入门很简单(含光盘) | ||
| 作者: | 涂文家 | 开本: | |
| YJ: | 69 | 页数: | |
| 现价: | 见1;CY=CY部 | 出版时间 | 2014-09-01 |
| 书号: | 9787302355649 | 印刷时间: | |
| 出版社: | 清华大学出版社 | 版次: | |
| 商品类型: | 正版图书 | 印次: | |
D3章动手写D一个PHP脚本
所谓PHP脚本,其实J是一串指令,告诉PHP处理引擎应该完成什么动作。理论上来说,PHP脚本可以只包含一条命令,也可以包含成千上万条命令,这WQ取决于读者的需要。对于一个PHP脚本来说,PHP处理引擎是按照从上到下、从左到右的顺序一条一条处理的,直到引擎指针指向脚本的Z后一行命令。
那么,我们可以用PHP脚本做些什么事情呢?按照本书1.2节中的说法,我们可以编写PHP脚本实现在特定的网页显示特定的内容、将用户在表单中填写的内容存入数据库、将某目录中的文件备份到指定的存储设备上。PHP几乎无所不能,只要读者肯下功夫,学习PHP是一件十分简单并且充满乐趣的事。
在本章里,我们将要动手写下D一个PHP脚本。
3.1何谓PHP命令
按照表现形式的不同,PHP命令可以分为简单命令和复杂命令两种。如何判断一条命令是简单还是复杂呢?
3.1.1简单命令
每条简单的PHP命令都在告诉PHP处理引擎执行一个动作。Z常见的PHP命令J是echo命令,它的功能是显示和输出信息。在D1章里,我们J已经见过这条命令了。
现在再来详细地看一下这个命令。
【例3.1】echo命令。
1echo"Hi";
在这条命令中,有三个部分组成。它们分别是命令关键字echo、命令对象Hi和行结束符(;)。DPHP处理引擎读到这条命令时,它1先会看到这条命令的关键字,通过关键字了解命令要求完成的动作;然后再读取命令的对象,并按照命令关键字的要求完成对对象的处理;Z后引擎会读取行结束符来结束对这条命令的执行。
刚才说到,echo命令的功能是显示和输出信息,那么DPHP处理引擎读到这条命令时,J会输出一个简单的字符串“Hi”。
这个例子十分好懂,也没有什么好讲的。不过有的同学可能对行结束符产生了兴趣。
行结束符和平常Word文档里的回车符有什么本质上的区别么?为了讲清楚这个问题,再来看几条命令。
【例3.2】行结束符。
1echo"Great!
2IhopeIcanfinallygetthere!";
3
4echo"Great!";echo"Welldone!";
看到这里,有的同学可能J不淡定了:这到底算是三条命令还是两条命令呢?嗯,这个问题问得好。其实答案也很简单,那J是只有D行结束符出现的时候,一条命令才算结束,无论一条命令被切成了几段写在了几行里。同理,若干条简单命令只有行结束符齐全,也可以挤在一行里抱团取暖,J像例3.2中的D4行一样。即便如此,还是建议大家一行只写一条简单命令,这样在后期进行错误定位的时候会好过得多。
PHP引擎其实无从知晓代码的内容,它只知道寻找行结束符。在两个行结束符之间的内容J会被PHP引擎D成一条命令加以执行。于是上面这条命令的结果J是另一个简单的字符串“Great!IhopeIcanfinallygetthere!”。
好奇的同学可能又要问了:如果在一个脚本里一个行结束符都没有的话,是不是所有的代码J会一起执行呢?答案是肯定的,但是你却看不到你想要的结果,看到的只是如下的一条报错信息:
Parseerror:expecting","or";"infile.phponline6
在报错信息中,你会看到出错的文件名和具体的行号,以及可能解决问题的办法。通常情况下,在每一条命令结尾处加上一个分号J能解决这个问题。
对于一个只有几条命令组成的PHP脚本文件来说,定位错误是十分容易的一件事情。
但是通常情况下,一个PHP脚本怎么着也得有个上百条命令。因此选用一款可以显示行号的编辑器J成了一个明智的选择。否则,你J只能从上往下一条一条地数了。
3.1.2复杂命令
把若干条简单命令放到一对花括号里,这些命令J组成了一个复杂命令。一个复杂命令通常包含若干条简单命令,甚至还会嵌套一些复杂命令。Z常见的复杂命令块J是条件命令,只有满足特定条件时,花括号中的简单命令才会被执行,如例3.3所示。
【例3.3】If条件命令。
1if(timeisinthemorning)
2{
3getup;
4brushmyteeth;
5washmyface;
6putonmyjacket;
7gotowork;
8}
在上面这个例子里只出现了一对花括号。这对花括号中包含了5条简单命令。这个例子可以做如下的解读:
早晨,我起床后会先刷牙,再洗脸,然后穿上我的夹克出门上班。
在这句简单的描述中,我们可以发现作为条件的时间是早晨。也J是说只有早晨,我才会做如下的动作:起床、刷牙、洗脸、穿衣和出门上班。于是,需要把条件写在花括号外的if子句中,然后把D条件满足时需要完成的动作依次写在花括号内,从而完成一个复杂的条件命令。
对于一条复杂命令来说,PHP会一次性读取这条复杂命令所有的内容。值得注意的是,花括号后面是不需要加行结束符(;)的。
另外,大家还要注意务必让花括号内的每条语句都缩进若干字符并使它们保持左对齐。这个要求并不是必须的。但是,如果你和其他的同事都在编辑同一个PHP脚本,为了他人阅读的方便还是建议大家照做
3.2如何写代码
D1章里提到动态网页这个概念。为了使网页“动”起来,J得在HTML代码中插入PHP脚本,然后将这些内嵌PHP脚本的HTML文件保存为扩展名为.php的文件。如此一来,PHP处理引擎才会处理文件中的PHP脚本。本节将讨论一个PHP脚本应该包括的元素。
3.2.1PHP标记对
只有DPHP脚本被插入扩展名为.php的HTML文件中时,PHP引擎才会处理这些脚本。那么应该把这些脚本插入到HTML文件中的什么地方呢?先来看例3.4中的代码。【例3.4】PHP标记对。
12…
3PHPstatements
4…
5?>
所有的PHP脚本都应该被包含在如例3.4所示的标记对中。读者也可以使用““?>”来标记一个PHP脚本的起止。前提是修改了php.ini文件中关于启用短标记对的相关内容。
一般来说,使用短标记并不是一个好主意。如果把使用短标记对的HTML文件转移到一台没有启用短标记对的服务器上,那么所有的PHP脚本都会失效。尤其是对于租用服务器的开发者来说,这样做的后果是致命的,因为大多数供应商并不允许修改php.ini文件。这样一来,编码时少敲几个字母的代价也忒大了些。所以还是建议大家尽量使用完整的PHP标记对。
D1章的结尾曾经提到:如果用户通过浏览器发出访问请求,PHP标记对间的所有PHP脚本都会被送到PHP处理引擎进行处理。然后服务器将经过处理的页面下发到发出请求的浏览器。该页面中所有的PHP脚本都已经被替换成了相应的处理结果。在浏览器里通过查看源代码的方式是无法看到任何PHP脚本的。
例如,读者可以在HTML代码中加入如例3.5所示的PHP脚本,然后将HTML代码
保存为一个PHP文件。
【例3.5】PHP脚本。
12echo"ThislineisbroughttoyoubyPHP.";
3?>
D用户请求该页面时,服务器会先查看文件的扩展名。D服务器发现该文件是一个PHP文件时,安装在服务器上的PHP处理引擎J会检查该文件里的PHP标记对、执行标记对中的脚本、并输出相应的结果。在本例中,服务器上的PHP处理引擎会执行PHP标记对中的echo命令,并输出处理结果,也J是“ThislineisbroughttoyoubyPHP”这句话。
D执行完文件中应该执行的所有脚本后,服务器会用脚本的执行结果替换相应的脚本,然后将处理后的HTML文件下发到用户的浏览器中。用户J能看到上面那句话了。
3.2.2注释脚本
看到这一节的标题,有的同学会问:为什么要注释脚本呢?
注释对于脚本来说十分重要。通常情况下,我们会使用注释来描述代码,告诉阅读脚本的人某一段代码可以实现的功能以及该功能是如何实现的。D脚本十分复杂,让人无法很快读懂时,注释J显得尤为重要了。但是如果代码只有自己一个人在维护,那么是不是J不用注释了?自己写的代码难道自己还看不懂吗?对于这个问题,我只能用一句俗语来回答:“好记性不如烂笔头。”既然我们可以很方便地在脚本旁边注明一下某段脚本的功能,为什么不呢。更何况,脚本会变得越来越复杂,总有YT会需要很多的人来一起维护。写上注释J可以避免出现代码无法维护的情况,提高代码的利用效率。
所谓注释,其实J是写在脚本旁边用于说明代码的一段文字。PHP处理引擎在碰到注释时会直接忽略。也J是说,注释一定是给人看的,那么写注释的时候言简意赅J显得十分必要了。那么PHP处理引擎如何区别脚本和注释呢?还是通过一个例子来说明一下。
【例3.6】注释示例。
1/*在这儿写注释
2在这儿写更多的注释*/
在例3.6中,我们看到了如下的两个符号:“/*”和“*/”,这样的注释标记称为长注释标记。PHP处理引擎在看到这一对符号时,J会直接忽略它们之间的所有内容。大家可以在开始写脚本之前,在开头的地方注释一段,写一写脚本的名字、描述、作者信息和写作时间等信息,以后查找起来也会FC方便。例3.7J是一段脚本说明。
【例3.7】脚本说明。
1/*name:hello.php
2description:Displays"HelloWorld!"onawebpage.
3writtenby:JoeProgrammer
4createdon:Feb1st,2012
5modifiedon:Mar15th,2012
6*/
值得注意的是,长注释标记不支持嵌套。也J是说,如果出现了如例3.8这样的注释标记,PHP会报错。
【例3.8】错误的注释嵌套。
这本书简直是打开了我通往编程世界的大门!之前一直觉得PHP这东西高深莫测,代码看得我眼花缭乱,但这本书完全颠覆了我的认知。从最基础的环境搭建,到第一个“Hello, World!”的输出,再到后面各种数据类型、变量、运算符的讲解,都清晰得就像在给我一个手把手教学。作者的语言非常通俗易懂,没有那些晦涩难懂的技术术语,即使是之前完全没有接触过编程的我,也能跟着步骤一步步来,生怕漏掉任何一个细节。最让我惊喜的是,书里还附带了一张光盘,里面不仅包含了书中所有实例的代码,还有一些辅助的开发工具,这对于初学者来说简直是福音!我可以在自己的电脑上跟着光盘里的内容动手实践,遇到问题时也能对照代码找出原因。以前我都是在网上零散地找些教程,结果越学越迷糊,现在有了这本书,感觉整个知识体系都串起来了,那种豁然开朗的感觉真的太棒了!我迫不及待地想继续学习下去,掌握更多的PHP技巧,用它来构建更复杂的网站和应用。
评分这本书就像一位耐心而又博学的导师,引领我一步步探索PHP的广阔世界。我之前对编程一直抱有一种敬畏之心,总觉得那是少数天才才能掌握的技能。但这本书的出现,让我彻底打消了这个顾虑。作者的讲解方式非常接地气,他仿佛知道我会在哪里遇到困难,并在我开口提问之前就给出了详细的解答。从HTML基础到CSS样式,再到JavaScript的交互,最后完美融入PHP的服务器端逻辑,整个过程流畅且逻辑清晰。我尤其喜欢书中关于如何构建一个简单的博客系统的章节,一步一步跟着做下来,我感觉自己真的创造出了一个属于自己的东西,那种喜悦感是无法用言语形容的。光盘里的各种模板和插件,也让我看到了PHP在实际项目中的巨大应用潜力。这本书不仅教会了我技术,更重要的是,它点燃了我对编程的热情,让我看到了自己成为一名Web开发者的可能性。
评分这是一本相当有价值的PHP学习资料,尤其适合那些想要系统性学习PHP,并希望能够真正理解其底层原理的读者。我之前学习PHP主要依靠零散的在线教程,导致知识点碎片化,理解不够深入。这本书则以一种非常系统的方式,将PHP的语法、特性、开发流程娓娓道来。我特别喜欢其中关于错误处理和调试的部分,作者详细介绍了各种调试技巧和工具的使用,这对于实际开发中解决bug至关重要。光盘里包含的工具和示例代码,也极大地提升了我的实践效率。我尝试着将书中的一些例子应用到我自己的小项目中,发现效果非常好。虽然书中涉及到的一些高级主题,例如数据库交互和安全性问题,可能需要更多的实践来巩固,但作者已经为我们打下了非常坚实的基础。这本书是我近期最满意的一次技术书籍购买。
评分我对这本书的评价可以说是一言难尽,但整体而言,我非常满意!这本书的结构安排非常合理,从入门到进阶,循序渐进,让我这种完全没有接触过编程的“小白”也能跟得上。作者的写作风格幽默风趣,阅读起来一点也不枯燥,很多时候甚至会让我忍俊不禁。他善于用生活中的例子来解释抽象的概念,比如在讲到数组的时候,他会用“装满水果的篮子”来比喻,这种形象的比喻让我一下子就理解了。而且,这本书的排版设计也非常精美,代码块清晰,重点内容都有高亮,阅读体验非常好。附带的光盘更是锦上添花,我下载了里面的所有代码,并且尝试着运行它们,感觉自己真的在一步步构建一个完整的Web应用,成就感满满!我之前尝试过其他一些PHP教程,但都因为过于枯燥或者晦涩而放弃了,这本书彻底改变了我的看法,让我觉得学习编程也可以是一件充满乐趣的事情。
评分作为一个已经有一定编程基础,但对PHP了解不深的开发者,我一直想找一本能快速掌握PHP核心概念的书。这本书比我想象的要扎实得多。它并没有停留在表面,而是深入剖析了PHP的运行机制、变量作用域、函数和对象导向编程(OOP)的精髓。特别是关于命名空间、抽象类、接口等高级概念的讲解,虽然篇幅不算特别长,但逻辑严谨,举例恰当,让我受益匪浅。我尤其欣赏作者在讲解过程中,会将PHP与其他一些主流语言进行对比,这让我能够更好地理解PHP的独特性和优势。光盘中的一些进阶实战项目,也给我提供了很好的学习范例,我尝试着去理解并修改那些代码,从中吸取了不少宝贵的经验。这本书让我对PHP的理解从“会用”上升到了“理解其原理”,为我日后深入研究PHP框架打下了坚实的基础。我还会把这本书推荐给我的同事,相信他们也能从中获得同样的启发。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.qciss.net All Rights Reserved. 图书大百科 版权所有