web1.0时代:所有的代码都是在浏览器端执行的静态脚本,用户请求的也都是服务器上事先已经存在的静态网页,用户和服务器之间不能进行任何的交互!(不需要数据库的支持)

web2.0时代:用户和服务器之间实现交互(对话),PHP脚本需要和数据库进行交互,能够处理用户的相关的复杂的业务逻辑,以后的网页将越来越“软件化”

web3.0时代:物联网、云计算和大数据的时代

PHP的发展史

PHP的原始含义:Personal Home Page  个人主页

最开始是加拿大的一哥们,开发了一个在线脚本工具,用来记录有多少人访问过他的在线简历,很受欢迎,于是他就开始开发自己的工具集!

PHP现在的含义:Hypetext Perprocessor 超文本预处理语言

说明了PHP是预先在服务器上执行的语言(工作在服务器端),然后再把执行的结果发送给浏览器

PHP的功能与特点

  • PHP主要是用来做web开发,但是PHP也可能开发桌面软件(应用软件),但是不常用
  • PHP是开源自由软件,能够在所有的操作平台上稳定的运行
  • PHP入门比较简单,语法类似于C语言(PHP本身就是C语言写的),同时支持面向过程和面向对象编程
  • PHP相对来说还很“年轻”,目前还在不断的完善和发展之中,比较有“生命力”
  • PHP工作在相应的平台解释器上面,相对来说消耗的系统资源很少
  • PHP支持多种主流的数据库,比如Mssql、Mysql、SQL Server、oracle等,只不过和Mysql是“黄金搭档”

web服务的发展历程

对等网模式

没有专门的客户端,也没有专门的服务器!

优点:简单快捷

缺点:不能提供可靠的服务

C/S模式

Client/Server,也就是客户端/服务器端模式,人为的分开了客户端(专门“享受”服务)和服务器(专门“提供”服务)!

主/从 服务器,其中从服务器也叫作镜像服务器!

特点:客户端和服务器端各自安装不同的软件,不同的服务有不同的客户端软件

优点:提供可靠的web服务

B/S模式

Browser/Server,也就是浏览器/服务器模式,由C/S模式发展而来,也可以说B/S模式其实就是一种特殊的C/S模式,相当于把C/S模式中所有的客户端都变成了浏览器而已!

比如:页游(网页游戏)

web开发的核心是B/S模式!

我们今天的主要任务就是搭建一个web服务器环境,但是浏览器端(B)不需要我们搭建,我们只需要搭建服务器软件就行了!

两个问题:

集成环境是什么?

集成环境,就是把搭建一个web服务器所需要的所有的组件(apache、mysql、php等)人为的组合到一起!常见的集成环境有:wamp(windows、apache、mysql、php)、Lamp、xamp、PHPStudy等等

为什么我们不建议采用集成环境?

  • 我们不知道apache、mysql、php等为什么要组合到一起以及如何组合到一起(对于专业人员很重要)
  • 在真实的开发中,不一定非要使用apache(比如还有IIS),也不一定非要使用mysql,所以,我们必须了解其中的原理!
  • 集成环境都属于第三方软件,不一定安全!

PHP的发展史,功能与特点的更多相关文章

  1. 【PHP发展史】PHP5.2 到 PHP5.6 中新增的功能详解

    截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护的 PHP5.2, 其余的一半用户在使用 PHP5.3. 因为 PHP 那“集百家之长”的 ...

  2. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  3. CSS3_概述、发展史、模块介绍、与浏览器之间的关系

    一.CSS3概述和CSS3的发展史: 1.css3概述: CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能.    目前主流浏览器chrome.safari. ...

  4. IOS中调用系统的电话、短信、邮件、浏览功能

    iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...

  5. 一. JVM发展史,运行时数据区域,四大引用

    一.JVM的出现 JVM将字节码解释成不同os下的机器指令,有了jvm,java语言在不同平台上运行时不需要重新编译 虚拟机发展史 (1)Sun Classic classic jvm要么采用纯解释器 ...

  6. 安卓发展史以及安卓和苹果对比PPT

    此PPT由我们小组协力完成,介绍了Android的发展史以及android与苹果的一些比较.概述了android发展至今的一系列版本,功能的日益完善,它的强大性,灵活性,公开性使其拥有吸引客服的绝大魅 ...

  7. 苹果iOS手机系统诊断功能是后门吗?

    7月20日,美国知名苹果iOS手机系统侦破专家扎德尔斯基在2014年世界黑客大会(HOPE/X)用幻灯片讲演揭露了苹果手机存在系统级"后门". 为此,7月23日.苹果公司马上做出回 ...

  8. jQuery的发展史

    jQuery的发展史,你知道吗? 每天多学一点知识,就少写一行代码2006年1月,jQuery的第一个版本面世,至今已经有6年多了(注:这个时间点是截止至出书时间).虽然过了这么久,但它依然以其简洁. ...

  9. Day2 - Linux发展史

    第1章 Linux发展史 1.1 什么是操作系统 操作系统是人与计算机硬件的一个中介. 1.2 操作系统组成 操作系统类似与鸡蛋 蛋壳--------->系统中各种各样的软件 蛋清------- ...

随机推荐

  1. POJ 4020 NEERC John's inversion 贪心+归并求逆序对

    题意:给你n张卡,每张卡上有蓝色和红色的两种数字,求一种排列使得对应颜色数字之间形成的逆序对总数最小 题解:贪心,先按蓝色排序,数字相同再按红色排,那么蓝色数字的逆序总数为0,考虑交换红色的数字消除逆 ...

  2. CF Gym 100187E Two Labyrinths (迷宫问题)

    题意:问两个迷宫是否存在公共最短路. 题解:两个反向bfs建立层次图,一遍正向bfs寻找公共最短路 #include<cstdio> #include<cstring> #in ...

  3. python判断平衡二叉树

    题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树.若左右子树深度差不超过1则为一颗平衡二叉树. 思路: 使用获取二叉树深度的方法来获取左右子树的深度 左右深度相减,若大于1返回False 通过递归对 ...

  4. Android深度探索总结

    Android深度探索前四章总结 通过这几章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android ...

  5. 51nod——1548 欧姆诺姆和糖果

    一开始以为是贪心,然后发现没法贪.暴力枚举肯定T,于是用约束关系优化: 假设wr >= wb, 第一种情况:wr >= sqrt (c), 则此时最多吃c / wr个r,且c / wr & ...

  6. NOIP模拟赛 高级打字机

    [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序,支持如下3种操作: 1.T x:在文章末尾打下一个小写字母x. ...

  7. overtrue/wechat 包 由 sys_get_temp_dir 引发的 the directory "c:\Windows" is not writable

    vendor\overtrue\wechat\src\Foundation\Application.php registerBase 方法 在初始化属性时 $this['cache'] = funct ...

  8. 转载:将画布(canvas)图像保存成本地图片的方法

    之前我曾介绍过如何将HTML5画布(canvas)内容转变成图片形式,方法十分简单.但后来我发现只将canvas内容转变成图片输出还不够,如何能将转变后的图片保存到本地呢? 其实,这个方法也是非常简单 ...

  9. 微信JS-SDK 示例

    微信JS-SDK 示例 1.html部分 <!DOCTYPE html> <!-- saved from url=(0028){sh:$selfUrl} --> <htm ...

  10. 【linux】 服务器文件说明

    文件名 说明 /etc/resolv.conf  域名解析服务器地址文件 /etc/services 服务程序对应端口号文件 /etc/passwd 登录账号文件 /etc/hosts 本地IP域名解 ...