PHP

PHP初学笔记

为了实训作品验收给php开了个头,之前就一直想学,听说很简单?

Posted by wodelu on December 8, 2017

没有学后端语言的后果就是,对一个网站怎么建立起来的过程都不清楚 对于数据库可以说是一无所知 跟着老师给的课件算是搭好了环境。开了个头吧。

1.C/S和B/S网络结构模式

  • C/S (Client/Serve) —— 客服端/服务器模式

    c/s结构是软件系统体系结构,它可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构。

  • B/S (Browser/Serve) —— 浏览器/服务器模式

    B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。浏览器通过Web Server 同数据库进行数据交互。

注: C/S 和 B/S不是对立的 B/S是在C/S原有基础上提出的,是一种特殊实现方式

2.浏览器内核介绍

浏览器内核可以分成两部分:渲染引擎(Rendering Engine)和 JS 引擎。内核倾向于指渲染引擎。 渲染引擎负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。 浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。 JS 引擎则是解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果。

- Trident —— Internet Explorer 内核:

IE开发计划开始于1994年夏天,微软为抵抗当时主流的网景Netscape Navigator,要在Windows中开发适合自己的浏览器,并与Spyglass合作。IE从早期一款商业性的专利网页浏览器Spyglass Mosaic派生出来,虽然Spyglass Mosaic与NCSA Mosaic(首款应用得最广泛的网页浏览器)甚为相似,但Spyglass Mosaic则相对地较不出名并使用了NCSA Mosaic少量的源代码。 -ms-: 基于Trident引擎的浏览器,有IE浏览器、以及国内的一些浏览器像使用较多的的360浏览器(IE9才开支持大部分CSS3属性)

- Gecko —— Firefox 内核:

Netscape6 开始采用的内核,后来的 Mozilla FireFox(火狐浏览器) 也采用了该内核,Gecko 的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。Gecko 内核的浏览器有很多,但Gecko 内核的浏览器仍然还是 Firefox (火狐) 用户最多,所以有时也会被称为 Firefox 内核。此外 Gecko 也是一个跨平台内核,可以在Windows、 BSD、Linux 和 Mac OS X 中使用。 -moz-: 基于Gecko引擎的浏览器,有Mozilla FireFox浏览器

Webkit 的鼻祖其实是 Safari,Safari 是苹果公司开发的浏览器。WebKit 前身是 KDE 小组的 KHTML 引擎,可以说 WebKit 是 KHTML 的一个开源的分支。当年苹果在比较了 Gecko 和 KHTML 后,选择了后者来做引擎开发,是因为 KHTML 拥有清晰的源码结构和极快的渲染速度。Webkit内核 可以说是以硬件盈利为主的苹果公司给软件行业的最大贡献之一。随后,2008 年谷歌公司发布 chrome 浏览器,采用的 chromium 内核便 fork 了 Webkit。

顺便介绍下Chrome和Chromium两个浏览器的区别——Chromium浏览器是谷歌为发展自家的浏览器Chrome而开启的计划,所以Chromium相当于Chrome的工程版或称实验版(尽管Chrome自身也有β版阶段),新功能会率先在Chromium上实现,待验证后才会应用在Chrome上。

然而在13年发布的Chrome 28.0.1469.0版本开始,Chrome放弃Chromium引擎转而使用最新的Blink引擎(基于WebKit2——苹果公司于2010年推出的新的WebKit引擎),Blink对比上一代的引擎精简了代码、改善了DOM框架,也提升了安全性。

-webkit-: 基于WebCore 排版引擎和 JSCore 引擎的浏览器,主要有苹果的Safari浏览器、 谷歌的Google Chrome浏览器、搜狗浏览器、傲游3浏览器

- Presto —— Opera浏览器内核:

Presto 是挪威产浏览器 opera 的 “前任” 内核,在Chrome于2013年推出Blink引擎(也是基于WebKit的分支)之后,Opera也紧跟其脚步表示将转而使用Blink作为浏览器核心引擎。Opera浏览器,是一款挪威Opera Software ASA公司制作的支持多页面标签式浏览的网络浏览器。是跨平台浏览器可以在Windows、Mac和Linux三个操作系统平台上运行。Opera浏览器创始于1995年4月,到2014年3月4日,官方发布的个人电脑用的最新版本为Opera20。 -o-: 基于Presto引擎的浏览器,有opera浏览器

3.开发流程

Apach:WEB服务器
MySql:数据库管理系统 PHPMyAdmine:数据库管理工具

4.网络协议及传输过程

TTP超文本传输协议:基于TCP/IP的应用层协议,他不涉及数据包的传输,主要规定了客户端与服务器之间的通信格式,默认使用80端口。 URL 统一资源定位符:简单理解为 网址。

5.数据库实现

  • 1 数据库:即把数据写入文本文件并保存。为方便读取,数据要分成记录,每一条记录必须等长。采用B-Tree格式储存数据:

(1)一个节点可以容纳多个值。比如上图中,最多的一个节点容纳了4个值。 (2)除非数据已经填满,否则不会增加新的层。也就是说,B树追求”层”越少越好。 (3)子节点中的值,与父节点中的值,有严格的大小对应关系。一般来说,如果父节点有a个值,那么就有a+1个子节点。比如上图中,父节点有两个值(7和16),就对应三个子节点,第一个子节点都是小于7的值,最后一个子节点都是大于16的值,中间的子节点就是7和16之间的值。

  • 2 MySql分类:

按对象分:数据库操作、数据表操作、数据记录操作 按操作类型分:增删改查(create,delete,update,read)

  • 3、数据表

数据表分为表结构和表内容。表结构要先建立,包括字段名称、类型、属性等。 数据表可以有多个,且表名必须为唯一的。 表中每一条记录描述一个相关信息的集合。 记录中每个字段是唯一的,每个字段都需要指定数据类型。

  • 4、会话控制

会话控制即允许服务器跟踪同一个客户端做出的连续请求。 将用户信息从一个页面传到另一个页面,有三种方法: - 使用URL将信息传到另一个页面 - 使用cookie将用户的信息存放在客户端 - 使用session将用户信息存放在服务器中

  • 5 phpinfo() 可以测试MySql模块是否安装成功。