名师讲坛:PHP开发实战权威指南(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-02 05:38:54

点击下载

作者:张恩民

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

名师讲坛:PHP开发实战权威指南

名师讲坛:PHP开发实战权威指南试读:

前言

PHP主要用于开发网站和互联网软件,它安全、简单易学、免费、跨平台、执行速度快,是各IT公司首选的互联网编程语言。2011年企业调查数据显示,73.7%的企业越来越多地采用PHP技术,13.2%的企业很少用到PHP技术,13.1%的企业偶尔使用PHP。由此可见,PHP技术已经为大部分企业广泛应用和重视。

PHP与其他互联网编程语言比较,开发优势明显。相比Java,其部署成本更低,初学更加容易;相比.NET,其拥有更好的跨平台特性以及完美的LAMP开源组合应用,因此已经逐渐成为用户首选的互联网编程语言,未来发展空间巨大。另据调查显示,如今大约60%的网站都在采用PHP开发,90%以上的Web 2.0应用是采用PHP技术开发完成的。全国排名前十的网站,其中有8家都在应用着PHP技术,包括腾讯、新浪、百度、淘宝、搜狐、网易等。举个最简单的例子,在百度或谷歌分别搜索PHP、JSP、.NET等Web开发语言的关键词时,会发现收录的页面数中,PHP是最多的。这也证明了PHP是关注度最高、应用最广的Web开发语言。PHP的就业前景极为光明,当在一些招聘求职网站上搜索就业职位的关键词,如PHP、Java、JSP、ASP.NET等时,会发现PHP的招聘比是1∶35(35个职位抢1个人),而Java是30∶1(30个人抢1个职位)。而且PHP人才起薪高提薪快,适合做自由职业者和未来创业。如果您对互联网编程语言感兴趣,并想从事这个行业,那PHP一定是您的首选。近年来,随着IT业和互联网的高速发展,企业对Web开发人才的需求也大量增加,业内普遍薪资也在3000~10000元,更高的达到年薪10万~20万。这个岗位是程序员中最火的,这种严重供不应求的局面在未来几年还将愈演愈烈。本书起源

目前市场上虽然已经有很多与PHP相关的书籍,但大部分属于翻译或收集整理类,很多资料和案例都是PHP早期的一些功能和语法介绍,而PHP 5.2和PHP 5.3系列中使用的语法已经有了很大的改变。部分早期的语法和代码已经被替代和抛弃,所以很不利于读者研究和学习。其次我们发现很多书籍中的操作案例如出一辙,太偏重技术的研究,在实际开发中很难遇到同类或者类似的问题,从而导致学而无用。针对这种情况,我们出版了本书。

本书是一本针对自学和教学为主的计算机教材,重点从编程思想和代码逻辑出发。本书的所有代码和例子演示均会介绍在新的PHP版本中应注意的事项和与以往版本的区别。本书还引入一些流行词、故事和实用的例子配合讲解,使读者可以将学到的知识迅速应用到自己的实际开发中,从而有一种自豪感;书中还配合一些常用的PHP实例让学习变得轻松,如PHP采集、抓取、远程获取、模拟登录等。本书特点

在编著本书之前笔者花费了大量心血和精力,对每一章节需要掌握的内容和循序渐进的层次做了明确的规划,避免内容多而全,全而不精,精而不实用。为了写好本书,笔者多次找到浙江大学、交通大学的教授和学生做咨询,还对PHP100中文网近20万用户的反馈做分析。全书注重读者学习兴趣和语法的规范,配合简短、有特点和实用的例子进行讲解,对于难理解的内容配有国外比较流行的一种模式思维脑图,不会因为例子代码难理解而导致学习兴趣下降。另外,本书光盘配备动态演示电子课件和全文注释的源代码。

全书共分为以下5部分。 Web前端部分:达到可以书写标准的DIV+CSS页面等。 LAMP部分:达到灵活使用Linux命令配置Apache、MySQL、PHP等性能。 PHP基础部分:达到使用面向过程模式自由书写常用功能与中小系统企业网站。 PHP应用部分:达到灵活运用面向对象开发与二次开发中大型程序。 PHP项目部分:达到会使用相关工具构造程序架构、开发流程和设计方案。

本书的学习过程。 HTML和PHP基本知识的掌握(基础部分也含有非常多的实用案例)。 语句和函数部分的讲解(针对在开发过程中使用最频繁的函数做详解)。 编程模式与开发思想(书中融入了新版PHP中面向对象思想编程逻辑)。 数据库与存储(不仅对数据库功能做介绍,也对如何与PHP结合做了详细案例说明)。 PHP扩展与功能模块(当用户达到一定编程基础时,会更加侧重性能和模块的开发)。 综合项目和协作开发(进行项目开发的同时,更注重多人协作的重要性)。随书光盘

为了方便读者学习,作者花费了很多心血,将过去使用过且有重要参考价值的资料加以整理,附在本书光盘中,衷心希望对广大读者朋友有所帮助。光盘内容有:

专业教学视频100集:PHP100中文网提供的专业教学视频100集。

专业教学PPT 100讲:专业级教学PPT文件100讲。

精选源码90套:含近年PHP100论坛资源和下载区精品源码90套。

PHP开发必备手册14本:含PHP开发过程中常用手册14本,包括最新的PHP5.3手册等。

美工素材3000多个:分为三大部分,即Flash、特效、图标,共计3000多个资源和详细分类。

开发必备工具14种:含14种最新PHP环境搭配、开发、服务工具。

经典源码6套:学习中少不了研究源码,本书特意推荐了一些比较经典的PHP源码。关于编者

张恩民,著名PHP网站“PHP100中文网”CEO,上海创恩IT教育教学总监,“PHP100视频教程”创始人,Web讲师,PHP高级讲师,DBA培训讲师。6年高端培训和教学经验,8年PHP和Web设计经验。曾在各大高校和阿里巴巴技术峰会做过多次公开课和演讲。

参与本书编著的还有阿里巴巴(阿里云)技术主管寿晓栋,CBS(PChome)技术主管李杰,PHP100相关PHP工程师袁佳伟,其他参与编写的还有冯浪、黄华、方瑜、龙凯、陆赟等。

本书将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并且每个章节和知识点都有经典且实用的例子做演示。本书在撰写之前参考了众多PHP书籍和资料,经过与PHP业界权威人士一起多次讨论和研究。关于服务

有关本书的问题,读者可以登录PHP100中文网论坛:bbs.php100.com。其他相关信息也可以访问如下网站。

新浪微博:weibo.com/haowubai

支持媒体:www.php100.com

创恩教育:www.chuangen.com致谢

在本书的写作过程中,策划编辑刘利民先生和阿里云总裁王学集先生给予了我很大的帮助和支持,并提出了很多中肯的建议,在此表示感谢。同时,还要感谢清华大学出版社的所有编审人员为本书的出版所付出的辛勤劳动。本书的成功出版是大家共同努力的结果,谢谢你们。

另外,在本书的写作过程中,由于时间及水平上的原因,可能存在一些对PHP及MySQL认识不全面或疏漏的地方,敬请读者批评更正。

谨以最真诚的心,希望能与读者共同交流、共同成长。张恩民第1章 PHP基础知识与XHTML

本章将对PHP历史和新版PHP的一些特点进行简单的介绍,使读者了解PHP的发展趋势和当今在开发语言中的重要地位;同时也会对准备学习PHP的朋友做一个基本的知识补充,包括在学习PHP前应作好哪些准备和XHTML的基础知识。1.1 PHP的发展与特点

PHP最初是作为一个快速、实用的工具包出现的。1994年,为了在自己的网站上增加一个小巧而实用的访客追踪系统,Rasmus Lerdorf编写了PHP的雏形程序。这是一个用Perl封装的简单工具。由于使用效果并不理想,Rasmus又用C语言重写了这个工具。

后来,更多的人注意到这个轻巧而简便的程序,并且要求增加更多的功能。Rasmus决定发布一个完整的版本,并将其命名为Personal Home Page,也就是我们今天看到的PHP的前身。1.1.1 PHP语言的发展和特点

在介绍PHP特点之前先来看一下目前世界计算机语言使用的排名情况,如图1-1所示。图1-1

起初PHP只能说是一个不太受人关注的小语言。一直到PHP 4,新的PHP核心被称为Zend(以Zeev和Andi的名字命名)引擎,于2000年5月随着新版PHP 4发布,PHP才受到越来越多用户的重视。PHP 4的性能较PHP 3有着显著的提高。相同的脚本在PHP 4中运行,最高可以有近10倍的性能提升。并且Zend提供的脚本优化器,可以把源程序转换为二进制编译代码,在提高性能的同时,也保护了程序源码不被暴露。在PHP 4中增加了对各种Web服务器(如Apache、IIS/PWS及OmniHTTPd等)的支持。此外,还增加了一些新的语言特性,如丰富的数组操作函数、完整的会话机制、对输出缓存的支持等。PHP 4也对一些跨平台的技术提供了扩展支持,如对Adobe PDF、SWF、Java、Microsoft.NET等技术的支持。PHP 4还增加了对类与对象的支持。尽管其在这方面并不完善,但还是大大改善了对面向对象程序设计的支持。PHP 4中的Pear库(PHP Extension and Application Repository)就是面向对象的应用与实践的最好例证。

尽管PHP 4的发展是如此迅猛,但较之于其他流行的开发语言还是缺乏一些关键的功能特性,如其面向对象功能并不完善,也无法实现异常(Exception)的捕捉与处理。因此在一些特殊问题的处理上还是捉襟见肘的。2004年7月,PHP 5正式版本的发布,标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎,并引入了对全新的PECL模块的支持。PHP 5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用PHP 5引进的类型提示和异常处理机制,能更有效地处理和避免错误的发生。

2010年,PHP发布了PHP 5.3.x系列(如图1-2所示),从整个发展角度来看,PHP 5.3.x又有了很大的提升;从语法的规范性、面向对象的完善、空间的命名等方面来看,PHP已经逐渐成为一门非常成熟的计算机语言,也将成为Web开发,甚至未来移动互联网开发中不可多得的计算机语言。图1-2

PHP的特点介绍如下。

1.免费开源,自由获取

PHP是一个免费开源的语言,用户可以自由获取最新版的PHP核心引擎和扩展组件,甚至可以得到PHP核心引擎的源代码,并根据需求部署适合的PHP环境。

2.移植性强,组件丰富

PHP的扩展移植性非常强大,它甚至可以部署在用户可以想到的所有操作系统的环境上(如Windows / Linux / Mac / Android / OS2等)。它还拥有非常强大的组件支持功能,开发一个普通的项目几乎不再需要收集和查找,只需在PHP的引擎中开启即可。

3.语言简单,开发效率高

PHP之所以在全球迅速推广开来,最重要的一个因素是它的语法简单,结构清晰,让很多没有专业编程基础的朋友都可以轻松地掌握PHP的编程。PHP在编译和开发过程中既保留了传统的混编模式,也提供了MVC的三层架构风格,这让PHP在开发和部署项目时的效率非常高,而不需要太多的周边知识来完成它。

4.PHP功能强大的函数库

PHP拥有非常多的功能处理函数,包括强大的数组与字符串函数、目录文件函数、对不同文件类型的处理函数、支持所有数据库函数、对不同网络协议的支持等。

5.应用范围广泛

PHP不仅可以开发常见的Web模式的软件系统,还可以开发桌面应用(PHP-GTK或PPfrom)、命令脚本(Shell脚本或计划任务)、手机APP应用(PHP for Android),并且PHP今后的应用范围将越来越广。1.1.2 PHP 5.3之后的新特性

从PHP 4到PHP 5,实现了由个人开发语言到专业互联网的发展,见证了PHP从山寨走上正规大军的发展。PHP 6还在酝酿中,相信PHP 5会作为PHP 6小试牛刀的场地。PHP 5.3是PHP 5的一个里程碑,加入了大量新特性。在PHP 5.3版本之前,虽然PHP的功能越来越多了,但是PHP的语法却越来越丑陋,有时加入了新功能,而新功能又带来了新问题,为了修复问题又要加入新的语法。没有PHP基础的朋友也不用担心,先对PHP 5.3有个基本的了解,等学完后面知识再回过头来看PHP 5.3的新特性,你会有个全新的理解和感悟。PHP 5.3之后的新特性主要介绍如下。

1.首先对之前滥用的语法进行了规范

众所周知,PHP在语言开发过程中有一个很好的容错性,导致在数组或全局变量中包含字符串时不使用引号是可以不报错的,这使很多业余的开发者因为懒惰而产生的安全问题十分严重。PHP 5.3之所以对所有基本的语法进行了重新整理和提高写作规范,其实对PHP开发者来说在写作上并没有太大的影响,只是让他们变得更加专业。

2.推出MySQL驱动mysqli以提高效率

一直以来,PHP都是通过MySQL客户端连接MySQL,而现在MySQL官方已经推出PHP版的MySQL客户端——mysqli,可以有效降低内存的使用并提高性能。其特点如下:(1)编译PHP更方便了,不需要libmysql,已经内置在源码中。(2)使用PHP许可,避免版权问题。(3)使用PHP的内存管理,支持PHP内存限制(memory_limit)。(4)所有数据在内存中只有一份,之前的libmysql有两份。(5)提供性能统计功能,并帮助分析瓶颈。(6)在驱动层增加缓存机制。

3.PHP 5.3安全和性能的提升

如md5()提高了10%~15%的性能;拥有更好的内存处理机制;提高了软件性能的访问;解决了include(require)_once重复打开的问题,之前once都是用静态变量实现的;用gcc4编译的二进制文件将更小;整体性能提高了5%~15%。

4.延迟静态绑定

PHP的静态是在预编译时就固定好的,所以在继承时,父类里的self指的是父类,而不是子类。而PHP 5.3加入了新的语法static,可以在运行时捕捉当前类。

5.更多新特性(1)名字空间,用来解决命名被污染。(2)新的魔法函数__callStatic,即原来__call的静态模式。(3)支持变量调用静态,可以通过$someClass::$method()调用。(4)新增日期函数date_create_from_format。(5)新增了类似JavaScript中的匿名函数和闭包。(6)新魔法常量__DIR__,用来解决路径问题。1.1.3 PHP程序员应具备的知识

在开始学习PHP之前,先来看一个合格的PHP程序员今后应具备哪些知识(如图1-3所示),希望对接下来的学习有所帮助。图1-3

从广泛意义上讲,PHP程序员仅掌握PHP是不够的,需要在学习PHP的过程中掌握更多的知识,这样才能开发出更好、更完善的软件。在前台页面设置过程中需要掌握DIV 、CSS 、JavaScript脚本等;在程序安全上需要掌握服务器基本的配置知识、安全过滤权限等;在程序优化和性能上需要掌握数据库的基本知识和优化等。

在开始学习本书知识之前,应做好以下准备工作: 有足够的信心和时间准备(更多的失败者是因为半途而废)。 一点数学基础(使用相对较少,PHP更注重逻辑编程)。 一点英文基础(26个字母认识就算及格了)。 一点网络基础(了解一些基础的网络名词,如邮件、HTTP、登录等)。1.1.4 B/S结构软件开发特点

B/S网络结构模式是基于Intranet的需求而出现并发展的。Intranet是应用TCP/IP协议建立的企事业单位内部专用网络,它采用诸如TCP/IP、HTTP、SMTP和HTML等Internet技术和标准,能为企事业单位内部交换信息提供服务。同时,Intranet具有连接Internet的功能和防止外界入侵的安全措施。另一方面,由于数据库具有强大的数据存储和管理能力,并且能够动态地进行数据输入和输出,如果把数据库应用于Intranet上,不仅可以实现大量信息的网上发布,而且能够为广大用户提供动态的信息查询和数据处理服务,进而加强企事业单位内部部门之间、上级部门与下级部门之间、企事业单位员工之间、企事业单位与客户之间以及企事业单位与企事业单位之间的信息交流,降低单位的日常工作成本,提高单位的经济效益。

1.B/S模式的模型结构

B/S模式,即浏览器/服务器模式,是一种从传统的二层CS模式发展起来的新的网络结构模式,其本质是三层结构C/S模式。

2.B/S模式的工作原理

在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并提交给数据库服务器,服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器并以友好的Web页面形式显示出来。

3.B/S模式的特点(1)系统开发、维护和升级的经济性

对于大型的信息管理系统,软件开发、维护与升级的费用是非常高的,B/S模式所具有的框架结构可以大大节省这些费用,同时,B/S模式对前台客户机的要求并不高,可以避免盲目进行硬件升级造成的巨大浪费。(2)B/S模式提供了一致的用户界面

B/S模式的应用软件都是基于Web浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。(3)B/S模式具有很强的开放性

在B/S模式下,外部的用户也可以通过通用的浏览器进行访问。(4)B/S模式的结构易于扩展

由于Web的平台无关性,B/S模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。(5)B/S模式具有更强的信息系统集成性

在B/S模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。(6)B/S模式提供灵活的信息交流和信息发布服务

B/S模式借助Internet强大的信息发布与信息传送能力,可以有效地解决企业内部的大量不规则的信息交流。1.1.5 PHP与其他脚本语言的比较

主流的Web开发语言不仅有PHP,还包括很多其他的语言,但它们与PHP之间的区别是什么,PHP的优势和劣势又在哪里?下面从各个语言的对比中来了解,也为用户在今后的开发中应如何发挥PHP的优势提供更好的帮助,从而制作出优秀的产品和软件。

ASP、PHP、JSP和.NET是当前比较流行的4种Web网络编程语言,现在做网站大部分都是使用这几种语言之一。(1)ASP是基于Windows平台的,简单易用,但移植性不好,不能跨平台运行,国内之前大部分的网站都是使用它来开发的。但因为微软已经放弃了对ASP原始版本的升级,并已经全面转向了.NET的研发,所以ASP已经不在用户考虑之中。(2)PHP是当前兴起备受推崇的一种Web编程语言,开源且跨平台,在欧美都比较流行,近些年在国内也很受网站开发者的欢迎。开发效率高,成本低。(3)JSP是SUN公司推出的一种网络编程语言,跨平台运行。安全性比较高,运行效率也比较快。它的开发语言基础主要是基于Jave,所以门槛相对较高。(4).NET从某种意义上说应该是ASP版本的升级,但是它又不完全是从ASP上升级来的,ASP.NET只是微软为了抵御SUN公司的JSP在网络上的迅猛发展而推出的。

表1-1给出了PHP、JSP和.NET三种语言的对比。表1-11.2 XHTML基础知识1.2.1 XHTML基础介绍

XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写。HTML是一种基本的Web网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相像,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。

2000年底,国际W3C组织(World Wide Web Consortium)公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,是更严谨、更纯净的HTML版本。它的可扩展性和灵活性将适应未来网络应用更多的需求。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的基于HTML语言设计的网站,直接采用XML还为时过早。因此,在HTML 4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。所以,建立XHTML的目的就是实现HTML向XML的过渡。目前国际上在网站设计中推崇的Web标准就是基于XHTML的应用(即通常所说的CSS+DIV)。

XHTML文档的编写方式有以下两种:(1)手工编写方式。使用“记事本”等编辑器,将文件保存为.htm或者.html格式即可。(2)使用可视化编辑器编写,如Dreamweaver、FrontPage等。提示

.html和.htm之间并没有本质意义的区别,.htm只是为了满足DOS仅能识别8+3的文件名的格式而已。因为在DOS下文件名的命名规则只能是文件名8位长度,文件后缀3位长度。1.2.2 XHTML语言的语法

XHTML语法非常简单,组成XHTML语法的元素只有XHTML标签与XHTML属性。XHTML中标签分为两种,成对出现的称之为双标签,不成对出现的称之为单标签。

格式:

双标签:<标签名>内容

单标签:<标签名 />

代码参见示例1-1。示例1-1:

在XHTML中,标签不是这么简单,在标签中间还有标签的属性。XHTML属性一般都出现在XHTML标签中,XHTML属性是XHTML标签的一部分。

格式:

双标签:<标签名 属性名="属性值" 属性名="属性值">

单标签:<标签名 属性名="属性值" 属性名="属性值" />

代码参见示例1-2。示例1-2:

XHTML中的语法是有自己的规范的,并且语法规范不像HTML中那么松散。XHTML中的语法规范主要有以下几点:(1)标记名称必须小写。(2)属性名称必须小写。(3)标记必须严格嵌套。(4)标记必须封闭,即使是空元素的标记也必须封闭。(5)属性值须用双引号括起来。(6)属性值必须使用完整形式。(7)应该区分“内容标记”与“结构标记”。

在XHTML中注释是用这样的符号来表示的。注释的内容不会在页面上出现,只是起解释的作用。

在XHTML中各个标签要各司其职并区别其与表格布局的习惯。 布局用:

。 文本用:

。 图片用:。 列表用:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载