PHP是非常适合Web开发的一种编程语言,在学习PHP之前,首先了解一下什么是Web技术。Web的本意是蜘蛛网,在计算机领域中称为网页,它是一个由很多互相链接的超文本文件组成的系统。在这个系统中,每个有用的文件都称为“资源”,并且由一个“通用资源标识符”(URI)进行定位,这些资源通过超文本传输协议(Hypertext Transfer Protocol,HTTP)传送给用户,用户单击链接即可获得资源。
除此之外,在Web开发中还会涉及一些非常基本而又相当重要的知识,如软件架构、URL、HTTP等。下面将分别对其进行讲解。
Web基础
B/S和C/S架构
在进行软件开发时,会有两种基本架构,即C/S架构和B/S架构。C/S(Client/Server)架构指的是客户端/服务器端的交互;B/S(Browser/Server)架构指的是浏览器/服务器端的交互。两者的区别是,C/S架构的客户端软件是专门开发出来的,如QQ、微信,用户必须安装软件才能使用;而B/S架构则是将浏览器作为客户端,用户只需要安装一个浏览器,就可以访问各种网站的服务,如百度搜索、新浪资讯等。
PHP运行于服务器端,既可以在C/S架构中为客户端软件提供服务器接口,又可以作为B/S架构来搭建动态网站。本书主要基于B/S架构进行讲解。
URL地址
在Internet上的Web服务器中,每一个网页文件都有一个访问标记符,用于唯一标识它的访问位置,以便浏览器可以访问到,这个访问标记符称为统一资源定位符(Uniform Resource Locator,URL)。在URL中,包含了Web服务器的主机名、端口号、资源名以及所使用的网络协议,具体示例如下。
https://deepinout.com/php-tutorials
在上面的URL中
- “https”表示传输数据所使用的协议
-
“deepinout.com”表示要请求的服务器主机名
-
“80”表示要请求的端口号
-
“php-tutorials”表示要请求的资源名称。
由于80是Web服务器的默认端口号,因此可以省略URL中的“:80”,即“https://deepinout.com/php-tutorials”。
HTTP协议
浏览器与Web服务器之间的数据交互需要遵守一些规范,HTTP就是其中的一种规范,它是由W3C组织推出的,专门用于定义浏览器与Web服务器之间数据交换的格式。
PHP概述
PHP是全球网站使用最多的脚本语言之一,全球前100万的网站中,有超过70%的网站是使用PHP开发的,表1-1列举了一些国内外大型网站使用的开发语言。
从上表可以看出,这些知名大型网站都使用PHP作为其开发的脚本语言之一,可见PHP的应用非常广泛。那么,PHP是从何而来的呢?
PHP最初为Personal Home Page的缩写,表示个人主页,于1994年由Rasmus Lerdorf创建。程序最初用来显示Rasmus Lerdorf的个人履历以及统计网页流量。后来又用C语言重新编写,并可以访问数据库。它将这些程序和一些表单解释器(Form Interpreter)整合起来,称为PHP/FI。
从最初的PHP/FI到现在的PHP 5、PHP 7,经过了多次重新编写和改进,发展十分迅猛,它的全称变更为PHP: Hypertext Preprocessor(超文本预处理器),与Linux、Apache和MySQL一起共同组成了一个强大的Web应用程序平台,简称LAMP。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与Java EE和.NET形成三足鼎立之势,并且应用该软件开发的项目在软件方面的投资成本较低,受到整个IT界的关注。
PHP之所以应用广泛,受到大众的欢迎,是因为它具有很多突出的特点,具体如下。
- 开源免费
和其他技术相比,PHP是开源的,并且可以免费使用,所有的PHP源代码都可以免费得到。
-
跨平台性
PHP的跨平台性很好,方便移植,在Linux平台和Windows平台上都可以运行。
-
面向对象
由于PHP提供了类和对象的特征,使用PHP进行Web开发时,可以选择面向对象方式编程,在PHP4、PHP 5中,在面向对象方面都有了很大的改进,现在PHP完全可以用来开发大型商业程序。
-
支持多种数据库
由于PHP支持ODBC(开放数据库互联),因此PHP可以连接任何支持该标准的数据库,如MySQL、Oracle、SQL Server和DB2等。其中,PHP与MySQL是最佳搭档,使用得最多。
-
快捷性
PHP中可以嵌入HTML,编辑简单、实用性强、程序开发快。而且,目前有很多流行的基于MVC模式的PHP框架,可以提高开发速度,例如,国外的有Zend Framework、Laravel、Yii、Symfony、CodeIgniter等;国内也有比较流行的框架,如ThinkPHP。
常用PHP编辑工具
Notepad++
Notepad++是一款在Windows环境下免费开源的代码编辑器,支持的语言包括C/C++、Java、C#、XML、HTML、PHP、JavaScript等。软件的下载地址为https://notepad-plus-plus.org。
NetBeans
NetBeans是由Sun公司(2009年被甲骨文公司收购)建立的开放源代码的软件开发工具,可以在Windows、Linux、Solaris和macOS平台上进行开发,是一个可扩展的开发平台。NetBeans开发环境可供程序员编写、编译、调试和部署程序,还可以通过插件扩展更多功能。软件下载地址为https://netbeans.org。
Zend Studio
Zend Studio是Zend公司开发的PHP语言集成开发环境,它包括了PHP所有必需的开发组件。ZendStudio通过一整套编辑、调试、分析、优化和数据库工具,加速开发周期,并简化复杂的应用方案。
在上述3种编辑工具中,Notepad++的特点是小巧,占用资源较少,非常适合初学者使用。
而NetBeans和Zend Studio虽然功能强大,但占用较多资源,使用较为复杂,适合专业的开发人员使用。推荐读者在初学阶段使用Notepad++,有一定基础后再使用较复杂的开发工具。