第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. Web服务网站故障分析常用的命令

    1.查看TCP连接状态netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn netstat -n | awk ‘/^tcp/ {++S[$NF]}; ...

  2. c#List移除列表中的元素

    对于一个List<T>对象来说移除其中的元素是常用的功能.自己总结了一下,列出自己所知的几种方法. class Program { static void Main(string[] ar ...

  3. thrift笔记

    Thrift tutorial 演示 python服务端与客户端本文的开发环境是windows 7 + python2.7.3Thrift官方主页:http://thrift.apache.org/先 ...

  4. Txt格式配置表无法解析的问题——BOM

    今天再次遇到同一个问题:策划给来一个Txt格式配置表,我用解析类去读取,返回的结果为空.解析类参数是:主键key,文件名fileName,错误提示errorTip. 写读取语句的时候,主键key我是直 ...

  5. [LintCode] Best Time to Buy and Sell Stock II 买股票的最佳时间之二

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  6. Webform Application传值 ViewState

    Application:所有的会话共享一个Application空间,任何一个人改变Application的内容,其他人都会发现被改变了.Application中的内容不会被自动释放 存放位置:服务端 ...

  7. Sort with Swap(0, i)

    原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/678 题目如下: Given any permutation of the number ...

  8. 构建 Android 应用程序一定要绕过的 30 个坑

    原文地址:Building Android Apps - 30 things that experience made me learn the hard way 原文作者:César Ferreir ...

  9. linux时间同步ntp服务的安装与配置

    1.首先安装NTP [root@localhost /]# yum install ntp -y 2.修改NTP配置文件,添加NTP服务器的网络位置    /etc/ntp.conf # For mo ...

  10. c = (a / b, a%b) 运算输出顺序

    #include<iostream> int main() { using namespace std; int a, b, c; a = ; b = ; c = ; printf(&qu ...