php基础介绍相关知识.ppt
第1章 相关知识,欢迎加入PHP的学习行列,希望通过本书的学习,能使读者对PHP有大概的了解,并运行该语言进行网站和软件的开发。PHP作为一种服务器端脚本语言,在开发动态网站,编写网络软件等方面被广泛应用。特别是近几年,PHP的版本不断升级,使PHP语言的处理能力有了很大的提升。这为将来,PHP能处理更多的系统事务奠定了基础。在学习PHP语言之前,先了解相关的术语,以便于以后的学习。,1.1 PHP及相关术语,在阅读技术文档和相关学习资料时遇到专业术语,是学习编程语言时最困难的地方之一,在不了解相关专业术语的前提下,学习成了一件痛苦的事情。为了能顺利的阅读PHP学习资料和技术文档,现列举常用的与PHP有关的专业术语供读者参考。,1.1.1 软件系统相关术语,术语是了解一门语言和语言开发环境的基础,本节就介绍PHP中常碰到的环境术语。(1)软件开发环境(SDE)(2)什么是LAMP、WAMP?(3)什么是Apache?(4)什么是MySQL?(5)Eclipse(6)什么是SSL?(7)什么是模式?(8)什么是框架?(9)什么是MVC?(10)什么是模版?(11)什么是面向过程方法?(12)什么是面向对象方法?(13)什么是Socket?,1.1.2 PHP语言相关术语,PHP不光是一门语言,慢慢扩展成为一种行业,本节介绍这门语言涉及的一些行业用语和技术词汇。(1)什么是PHP?PHP是Hypertext Preprocessor两个英文单词的缩写,是基于服务器端运行的脚本程序语言,其可以实现数据库和网页之间的数据交互。PHP的独特语法混合了C、Java、PERL和PHP式的新语法。PHP语言可以单独运行,也可以镶嵌在HTML文件中,这样程序员就可以不必完全依赖HTML生成网页。因为PHP语言的执行都在服务器端,所以客户端是看不到PHP代码的。(2)什么是PHPer?PHP programmer,指编写PHP的程序员。(3)什么是类?类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建多个相同类型的对象,1.1.2 PHP语言相关术语,(4)什么是对象?对象就是类存在于内存中的实例,通过对类进行实例化,就能得到对应的对象。(5)什么是函数?函数是一段相对独立的代码,不同的语言有不同的定义方式。在PHP中,函数就是有效的PHP代码的集合。在设计复杂程序时,可以把程序分为几个函数,不同的函数完成不同的功能。其优点在于各部分充分独立,不仅可以使程序易读、易维护,还可以对代码进行复用。(6)什么是Session?Session用中文来解释就是会话期。一个会话期开始于用户输入一个站点的网址时,结束于离开这个站点时。PHP使用Session函数来创建和管理会话期内“$_SESSION”中的变量。,1.1.2 PHP语言相关术语,(7)什么是Cookie?Cookie是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。在PHP中可以用 setcookie()函数来设置Cookie。Cookie是HTTP标头的一部分,因此setcookie()函数必须在其他信息被输出到浏览器前调用,这和对header()和SESSION函数的限制类似。可以使用输出缓冲函数来延迟脚本的输出,直到按需要设置好了所有的Cookie或者其他HTTP标头。(8)什么是PEAR?PEAR是PHP的扩展和库代码的知识库,而这个项目最有雄心的目标则是试图定义一种标准,这种标准将帮助开发者编写可移植、可重用的代码。(9)什么是Pecl?Pecl 是通过PEAR打包后,取得的PHP扩展库。,1.1.2 PHP语言相关术语,(10)什么是变量?PHP 中的变量用一个美元符号后面跟变量名来表示,数据存储的内存地址。在PHP中变量名是区分大小写的。(11)什么是常量?常量,即不可变的数值或数据项。常量的值通常是在程序运行前定义的,在整个程序运行的过程中,其值是不会改变得。常量默认为大小写敏感。按照惯例常量标识符总是大写的。(12)什么是引用?在PHP中引用就是用不同的名字访问同一个变量内容。变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。(13)什么是序列化?序列化就是将对象的状态信息转换为可以存储、传输的数据的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。再次使用时,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。序列化只保存了对象的成员数据而不包话方法。,1.1.2 PHP语言相关术语,(14)什么是构造函数?构造函数是类中的一个特殊函数,当使用new操作符创建一个类的实例时,构造函数将会自动调用。在PHP5以前的版本中,当函数与类同名时,这个函数将成为构造函数。PHP5通过定义“_construct”函数来建立构造函数。如果一个类没有构造函数,则调用基类的构造函数,如果有刚调用当前类构造函数。(15)什么是析构函数?PHP5引入了析构函数的概念,通过定义“_destruct”函数来建立析构函数。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。专业术语的记忆有助手对新语言的学习,特别在遇到阅读技术文档时,能理解文档里大量的专业术语,不仅能加快学习的进度,也能更准确的理解原文的意思。可以少走很多弯路。本节介绍的仅限于常用的术语,在PHP语言学习的过程中,应该多注意对PHP专业术语和其他通用专业术语的学习和集累。,1.2 PHP的运行及开发环境,在上一节中,提到了几个术语,即:SDE、LAMP、WAMP和Eclipse。SDE,即软件开发环境,它由软件运行环境和软件开发工具两部分组成。LAMP和WAMP都是软件的运行环境;Eclipse是本书使用到的开发工具。,1.2.1 运行环境,LAMP是指一组常用来搭建动态网站或者网络服务器的软件。这组软件中包括Linux系统、网络服务器APACHE、关系型数据库MySQL和PHP或其他语言插件。LAMP之所以这么倍受推崇,是因为这个组合使用到的软件都是开源软件,而且它们之间的兼容性越来越高。随着开源软件的发展,LAMP已经与J2EE及.NET形成三足鼎立之势。LAMP的自家兄弟WAMP因为微软的Windows系统被广泛使用而名声在外。在Windows系统中,常常使用的网络服务器IIS,也可以用于构建PHP的运行环境。,1.2.2 运行平台的选择,这里指的运行平台就是LAMPWAMP中的L或,即:Linux和Windows操作系统。选择不同的平台会真接影响到软件开发中使用的工具,以及运行环境中其他软件的安装及配置。在大型的网站开发过程中,往往选择LAMP的组合,其优点不仅仅在于是开源软件和兼容性,在稳定性和安全性方面也有很好的表现。但是在平台建设和维护方面的工具量相对也是很多的,这也是其缺点之一。WAMP作为一种可选择的方案,其较短的部署时间,成为新手入门的首先。而且网络上不断推出的免配置版的WAMP更可以让程序员从复杂的环境配置中解脱出来,专心于程序的开发。本书作为PHP入门教材,将选择使用WAMP组合。运行环境的构建将是跨入PHP世界的重要一步。值得庆幸的是走出这一步并不难。免安装、免配置版的WAMP已经发展了很多版本,读者可以很容易的从互联网上取得。下面的三个章节将重点讲解如何在已经拥有Windows系统的电脑上安装Apache、MySQL和PHP。,1.2.3 Apache对客户端与服务器端通信的作用,本书1.1章节的中对Apache进行了名词性的解释,但读者对其在整个开发环境中,能起到的作用还不是很了解。下边列出的是一个简单的客户端与服务器通讯的步骤:(1)客户端(浏览器)和网络服务器建立TCP连接,连接建立以后,向网络服务器发出访问请求(如Get请求)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。(2)网络服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。(3)断开与远端Web服务器的连接。上面的步骤中提到的网络服务器,就是一台安装有Apache的电脑主机。负责处理客户端请求的数据,并返回客户请求的内容,这就是Apache的作用。,1.2.4 准备工作,从本节开始,学习建立一台实现上述功能的主机。(1)一台已经安装了Windows XP20002003系统的电脑。(关于Windows 的安装过程,请参照其他书籍)。本书使用是Windows XP系统。(2)登录Apache官方网站http:/www.apache.org/,下载最新版本的安装程序,本书中使用的是Apache 2.2.6 Released,详细下载地址:http:/2.2.6-win32-x86-openssl-0.9.8e.msi。,1.2.5 安装Apache,安装Web服务器是实现通信功能的关键,本节详细介绍如何安装Apache。,1.2.6 确认Apache安装成功,确认Apache安装成功有很多方法,了解和掌握它们,会对网络服务器维护有很大的帮助,下边举例说明常用的两种方法。1使用Apache自带的管理软件2使用浏览器,1.2.7 PHP安装准备,在最初的PHP安装时,都会使用手工配置,但随着PHP的发展,PHP版本也提供了安装版,而且相对于Apache和MySQL的安装来说,PHP的安装简单的多。按照下边的步骤执行,将会为Apache添加PHP的语言支持。下面是安装前的准备工作。(1)登录PHP的官方网站http:/5.2.4,详细下载地址:http:/,1.2.8 安装PHP,安装PHP的详细步骤如下所示。,1.2.9 确认PHP安装成功,右击“ApacheMonitor”图标,弹出ApacheMonitor菜单,单击“Open Apache Monitor”菜单项,进入Apache服务管理器,在对话框中单击“Stop”按钮,等待Apache服务关闭后,再单击“Start”按钮启动Apache服务,成功后Apache服务管理器的状态栏会显示:Apache/2.2.6(Win32)PHP/5.2.4,如图所示。,1.2.10 Apache与PHP的相关配置,为了让Apache支持PHP,PHP的安装配置更改了Apache的配置文件。Apache的主配置文件“httpd.conf”位于Apache的安装目录下的conf文件夹内,如图所示。使用记事本程序打开“httpd.conf”,拖动滚动条至文件下方,会看到配置文件最下方有4行关于PHP的配置代码,如图所示。,1.2.11 开发工具,开发工具是程序员使用最多的软件,它的选择与程序员的编程习惯和软件开发环境有关。最初的PHP是没有专门的开发工具的,但随着PHP的商业化运作和开源软件的发展,很多流行的IDE都添加了对PHP编码的支持,其中有Adobe公司的Dreamweaver和大名鼎鼎的Eclipse。说到PHP的开发工具,就不能不提到Zend Studio,它是目前公认的最强大的PHP开发工具,这种集成软件包括了用于编辑,调试,配置PHP程序所需要的客户及服务器组件,具有工业标准的PHP开发环境,代码完成引擎和功能齐全的调试器。EditPlus及其他流行的文本编辑工具都可以作为PHP的开发工具,但是在开发稍大一点的软件系统时,这些工具就会受到很多限制。但是体积小,运行快的这个特点在调试程序时,还是很实用的。如果只是想更改程序的一条代码,就要启动功能齐全的IDE,显然不合适,此时这类文本编辑软件就排上用场了。,1.2.12 Eclipse的下载、安装及配置,在上边的章节中,讲述了PHP相关的开发工具,在综合了各种因素后,本书选择Eclipse作为主要开发工具。下边介绍Eclipse的安装与配置。Eclipse的版本与插件版本之间的对应是有要求的,如果不兼容的版本之间对应,插件有可能不会启动。为了解决这个问题,Eclipse官方网站提供了语言开发环境的打包下载,即把Eclipse和语言开发插件打包在一起,省去复杂的配置过程。,1.3 第一个PHP程序,在一切准备工作就绪后,就可以使用Eclipse编写PHP程序,并在Apache里发布并运行了。编写代码、发布、运行这一过程很简单,通过本节的学习,很快就会掌握。,1.3.1 使用Eclipse编写源程序,编程语言的学习,不仅仅是对语言本身的熟悉,同时要对其周边的知识,如:开发工具、调试工具、运行环境配置等各个方面都进行了解,打下坚实的基础,才能更灵活、高效的运用这种语言工具。通过对上面几个小节的学习,了解了PHP运行需要的环境和配置方法。在接下来的章节中,会详细介绍PHP的语法,函数,数据库等知识。在开始学习这些知识以前,先了解怎么样使用Eclipse新建PHP项目及编写PHP程序。,1.3.2 发布和运行PHP程序,所谓的发布PHP程序,就是把已经编写完成的PHP代码文件复制到Apache指定的文档根目录下。Apache默认的文档根目录,就是其安装目录下的htdocs文件夹。为了方便读者发布程序,在运行Eclipse时,选择的工作空间就是这个文件夹。在1.3.1章节中,Eclipse中新建的项目“learn”,等同的操作就是在htdocs文件夹下新建一个名为“learn”的文件夹。而新建文件hello.php,就是在learn文件夹下新建一个名为hello.php的PHP代码文件。这两个动作其实就是PHP程序的发布过程,动作完成后,hello.php已经发布到了Apache的文档根目录里的learn文件夹下。接下来,就是运行这个PHP文件。运行PHP有三种方式:在命令行中运行,作为桌面程序运行,作为服务器端脚本运行。其中最经常使用的就是作为服务器端脚本运行方式。,1.4 常见问题,第一章的内容主要是介绍了计算机与PHP语言的相关术语,PHP的运行环境的安装与配置及PHP开发工具的安装与简单使用。在本章的几个知识点里,有几个问题应该特别说明一下。,1.4.1 Apache安装常见问题,Apache为电脑提供网络服务,会以系统服务的形式存在,默认占用的80端口。如果在安装Apache以前,Windows安装了自带网络服务程序,即IIS或其他软件占用了80端口,Apache在安装完成后,网络服务是不会启动的。在遇到这种情况,有两种解决方法。方法一:停止占用端口的软件如果程序员的机器要运行ASP程序,很有可能安装了IIS,而同时又使用Apache布属PHP程序,那么后来安装的Apache是不能正常运行的。这种情况下可以通过停止IIS服务或改变IIS的服务端口来解决问题。方法二:改变Apache的默认端口为了不影响现有的程序运行,可能通过改变Apache的默认端口来解决问题。,1.4.2 MySQL安装常见问题,MySQL安装时也会遇到端口冲突的问题,在默认端口3306被占用时,可以在安装里尝试使用其他端口进行安装,具体步骤参见1.2.4小节的第15步。,1.4.3 PHP安装常见的问题,为了减少PHP安装过程中的错误,本书使用安装程序进行安装。在某些情况下,不能使用安装程序安装时,手动安装最容易出现的错误在路径问题上。由于手动安装,PHP运行需要的某些文件在PHP配置文件中找不到路径,就会引发错误。此类错误的解决方法,可以通过查找、修改PHP配置文件中关于路径的设置来解决。在开始正式学习PHP语言之前,要对PHP配置文件中“register_globals”参数进行设置。其作用是:在设置为“on”时,程序中的变量将自动注册为全局变量,在设置为“off”是关闭这项功能。“register_globals”设置为“on”,是PHP程序中一个主要的安全隐患。要更改这项参数的设置,需要对PHP的配置文件进行编辑。,1.4.4 关于Eclipse的问题,为了省去复杂的中文化过程,本书使用的是英文版的Eclipse,在整个使用过程中,只是涉及了几个简单而且常用的英文单词,相对于整个PHP语言的学习来说,没有什么大的障碍。如果读者希望使用中文版的Eclipse,可以下载3.2.X系列版本的Eclipse和相应版本的PDT进行配置。Eclipse的更新很快,为了节省读者的时间,光盘中提供了Eclipse的压缩包,通过解压缩可以直接使用Eclipse程序。在实际应用中,运行环境和开发工具的使用都会产生很大小的问题,在这里就不一一列举。如果读者有什么疑问,可能通过论坛进行交流。,