第1章  初识PHP

当前网络技术发展日新月异,各种基于服务端创建动态网站的脚本语言更是层出不穷。其中PHP以其简单、易用、可移植性强等特点,在众多的动态网站语言技术中独树一帜。那么到底什么是PHP,如何使用PHP?本章将来回答这些问题。通过本章的学习,将使读者对PHP有一个大致的了解,并将学会如何把PHP代码加入普通Web页中。

1.1  关于静态网页与动态网页

目前网上的网页有静态网页与动态网页两种形式。在讲这两种网页之前,先了解一下网络构成中的客户机(Client)与服务器(Server)。服务器是安装有服务器软件并且可以向客户机提供诸如网页浏览、数据库查询等服务的设备。而客户机则与之相反,它通过客户端软件如网页浏览器从服务器上获得如网页浏览、软件下载等服务。简单地讲,服务器就是服务提供者,而客户机则是服务获得者。

1.1.1  传统的静态网页HTML

静态网页的实现模式如图所示: 静态网页有以下几个特点:静态网页不能自动更新。静态网页的内容不随浏览用户、浏览时间等条件的变化而变化。静态网页一经发布,无论浏览者浏览与否,它都是实实在在存在的一个文件,都对应一个URL。用静态网页实现人机交互有相当大的局限性。

1.1.2  动态网页与传统网页的区别

与静态网页的实现方法不同,动态网页服务的实现过程如下:客户端向服务器提出申请,服务器根据用户请求,把动态网页内部的代码先在服务器上进行相应的处理,再把生成的结果发送给客户端。其模式如图所示:

1.1.2  动态网页与传统网页的区别

动态网页有以下几个特点:

动态网页在服务器端运行。

不同的人、不同时间、不同地点浏览同一个动态网页,根据代码处理结果不同,会返回不同的内容。

动态网页只有经客户浏览时才会返回一个完整的网页,而其本身并不是一个独立存在于服务器的网页文件。

与静态网页相比,动态网页更容易实现人机交互。

动态网页构建的网站维护起来比静态网页要容易。

1.2  关于PHP

上一节为读者介绍了静态网页与动态网页,而PHP就是动态网页技术中的一种。那么到底什么是PHP,它的发展历史是怎么样的呢?与其他动态网页技术相比,PHP都有些什么特点呢?本节将为读者来解答这些问题。

1.2.1  什么是PHP

早期有人将PHP解释为Personal Home Page,即个人主页。也有人将PHP称作:“PHP:Hypertext Preprocessor”。通俗地说,PHP是一种服务器端、跨平台、可以嵌入HTML的脚本语言。服务器端执行的特性标明了它是动态网页的一种。跨平台,则是指PHP不仅可以运行在Linux系统下同时也可以运行在UNIX或者Windows系统下。另外它还可以很简单地嵌入到普通的HTML页中,用户所要做的只是在普通HTML页中加入PHP代码即可。

1.2.2  PHP的发展历史

PHP最初在1994年由Rasmus Lerdorf进行开发。1995年中期又发布了PHP的第2个版本,定名为PHP/FI(Form Interpreter)。

1997年中开始了第三版的开发计划,开发小组加入了Zeev Suraski及Andi Gutmans,而第三版就定名为PHP  3.0。

2000年5月,PHP 4.0正式发布。它使用了Zend(Zeev+Andi)引擎,提供更高的性能。

2004年7月,PHP 5问世。PHP 5的诞生,使PHP编程进入了一个新时代。Zend  II引擎的采用,完备的对象模型、改进的语法设计。终使得PHP成为一个设计完备、真正具有面向对象能力的脚本语言。

1.2.3  PHP与其他CGI程序相比较

同样作为服务端编程语言,PHP与其他CGI程序如ASP.NET、JSP等相比较有其自身的特点,主要表现在以下几个方面:Web服务器支持方面。运行平台的支持。脚本语言不同。数据库支持不同。面向对象的支持不同。

1.3  第一个程序——HELLO WORLD!

<html>
<head>
<title>HELLO WORLD!</title>
</head>
<body>
<!--以上为普通HTML代码,以下为PHP代码-->
<?php
echo "HELLO WORLD!"; //用echo打印字符串
?>
<!--以上为PHP代码-->
</body>
</html>

1.3.1  页面中加入PHP代码

PHP是一种可嵌入的语言。也就是说,它可以很方便地加入到一般常见的HTML页中。用户请求PHP文件时,相关的PHP代码先在服务器端解释执行,生成新的HTML信息,再连同原有的HTML代码一起发送给用户。

1.3.2  PHP页中加入注释

PHP有三种注释:

单行注释:#,//
多行注释:/*some code*/

php教程|php基础知识的更多相关文章

  1. php基础教程-必备基础知识

    PHP 脚本在服务器上执行. 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML CSS JavaScript 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程 ...

  2. redis 教程(一)-基础知识

    redis 简介 redis 是高性能的 key-value 数据库,读的速度是110000次/s,写的速度是81000次/s ,它以内存作为主存储 具有以下优点: 1. 支持数据的持久化,将内存中的 ...

  3. Java基础教程——网络基础知识

    参考阅读[中国互联网发展史]:https://zhuanlan.zhihu.com/p/61602252 协议 计算机网络中的通信必须有一些约定,这些约定称为"通信协议". 通信协 ...

  4. 菜鸟教程jsonp基础知识讲解

    jsonp是什么? Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的 ...

  5. Python入门方法推荐,哪些基础知识必学?

    很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...

  6. 【RL-TCPnet网络教程】第41章 HTTP超文本传输协议基础知识

    第41章      HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...

  7. 【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识

    第38章      TFTP简单文件传输基础知识 本章节为大家讲解TFTP(Trivial File Transfer Protocol,简单文件传输协议)的基础知识,方便后面章节的实战操作. (本章 ...

  8. 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

    第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等 ...

  9. 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识

    第35章      FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...

随机推荐

  1. fft练习

    数学相关一直都好弱啊>_< 窝这个月要补一补数学啦, 先从基础的fft补起吧! 现在做了 道. 窝的fft 模板 (bzoj 2179) #include <iostream> ...

  2. backbone新手填坑教程资源

    backbone 入门第二版 http://www.kancloud.cn/kancloud/backbonejs-learning-note/49379 backbone 入门讲解 http://w ...

  3. Fedora17安装MySQL及配置

    一.安装 以下操作均是在root用户下进行操作.首先,如果以前有安装过,这次卸载后安装的话,最好是先将/var/lib/mysql/里面的内容全部删掉(如果不重要的话),我就遇到过没有删除这些东西,结 ...

  4. .NET中的DES对称加密

    DES是一种对称加密(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法.一般密码长度为8个字节,其中56位加密密钥, ...

  5. UWP图片编辑器(涂鸦、裁剪、合成)

    一.编辑器简介 写这个控件之前总想找一找开源的,可以偷下懒省点事.可是各种地方都搜遍了也没有找到. 于是,那就做第一个吃螃蟹的人吧! 控件主要有三个功能:涂鸦.裁剪.合成. 涂鸦:主要是用到了InkT ...

  6. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

  7. [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类

    [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...

  8. SQL Server 数据库设计规范

    数据库设计规范 1.简介 数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其他应用系统,使之能有效地存储数据,满足各种用户的需求.数据库设计过程中命名规范很是重要,命名规范合理的 ...

  9. 玩转动态编译 - 高级篇:二,IL设置静态属性,字段和类型转换

    静态属性赋值 先来看 Reflector反射出的IL源码(感谢Moen的提示),这次用 Release模式编译,去掉那些无用的辅助指令 public void AAA(string s) { MyCl ...

  10. EF:自定义Oracle的映射类型

    oracle在DB First模式下,int类型的字段会自动映射为decmial类型的属性. 我们可以通过自定义类型映射进行“纠整”. 在app.config 自定义映射规则: <oracle. ...