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的缩写,表示个人凯发k8手机登录主页,于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 ,有一定基础后再使用较复杂的开发工具。